Apprendre le développement Web avec Flask et Python cours
Apprendre le développement Web avec Flask et Python cours PDF
…
Chapitre 2 - Se salir les mains avec «Hello World!»
CONSEIL DU JOUR: le moyen le plus rapide d'apprendre ce livre est de tout saisir manuellement à partir de celui-ci. Le copier-coller n'est pas productif pour l'apprentissage de la programmation, sauf si vous comprenez à 100% le code. Si vous faites une faute de frappe, sa simple action de débogage vous donnera une récompense pour l’apprentissage. Si vous avez déjà un serveur Web et que vous avez sauté le premier chapitre, exécutez et installez ce qui suit: sudo apt-get install -y build-essential python-dev python-pip python-mysqldb libmysqlclient-dev superviseur libmemcached-dev memcached python-memcache pip installer flacon flask-login flask-mail sqlalchemy flask-sqlalchemy flask-wtf flaskmigrate tornado flask-cache simpleencode pip installer pdfminer flask-admin flask-security
Bonjour tout le monde
Créer un nouveau répertoire sous / home
cd / home
mkdir helloworld
créer un nouveau fichier nommé run.py
nano run.py
run.py
importation de flacon Flask
app = Flacon (__ nom__)
@ app.route ('/')
def hello_world ():
retourner 'Hello World!'
si __name__ == '__main__':
app.run ()
sauvegardez-le, CTRL + X puis «Y», entrez
maintenant tapez:
python run.py
Puis depuis votre navigateur ouvert
http: // your_server_ip: 5000 /
Si vous avez oublié l'adresse IP de votre serveur, écrivez
wget -qO- http://ipecho.net/plain; écho
Ou si vous utilisez digitalocean, vous pouvez le voir après vous être connecté à votre compte après votre nom VPS.
Vous devriez voir une page blanche avec «Hello World!». C'est tout.
Une fois que vous avez terminé d’admirer votre première application de flacon, appuyez sur CTRL + C.
CONSEIL DU JOUR: vous pouvez écrire au-dessus de run.py #! / Usr / bin / python puis de chmod + x run.py pour pouvoir simplement taper ./run.py au lieu de «python run.py». Si vous rencontrez des erreurs telles que: -bash: ./run.py: / usr / bin / python ^ M: interpréteur incorrect: Aucun fichier ou répertoire de ce type ne correspond à apt-get install dos2unix, puis écrivez «dos2unix run.py». [et configurez votre IDE pour utiliser Line separator Unix et OSX. code style-> general in IntelliJ] Si vous le saviez déjà et que je vous ai offensé avec le gaspillage d'informations, je m'excuse!
Chapitre 3 - Configuration de votre environnement de développement
Les paramètres ne sont que mes préférences. Vous êtes libre d'utiliser ce que vous voulez bien sûr. L'utilisation de nano pour éditer des scripts n'est pas productive. Voici une capture d'écran de la façon dont je le fais. Vous êtes libre de choisir la méthode qui vous convient le mieux.
Vous voyez IntelliJ Studio et SuperPutty.
Le texte est si petit parce que j'ai une résolution de 2560x1440 (le meilleur argent jamais dépensé sur un bon moniteur), j'ai DELL U2713HM (maintenant, il s'agit d'environ 600 $). J'ai thème IntelliJ avec un thème sombre, pour ne pas me faire mal aux yeux. blanc. Vous préférez une autre couleur -> http://ideacolorthemes.org/home/ ils ont pas mal de thèmes.
Démarrez IntelliJ, configurez tout ce qu’il vous demande, choisissez «Nouveau projet» -> Python -> (ne cochez pas Django, Google App Engine, etc.). Cliquez simplement sur Suivant. suivant. Interprète Python. Nommez votre projet.
Ignorez cette étape si vous envisagez d’utiliser votre propre ordinateur pour le développement. Mais finalement, vous finirez par le faire.
Allez dans Outils -> Déploiement -> Configuration -> Ajouter un nouveau serveur. Sélectionnez SFTP, indiquez l’hôte detals, le port, le nom d’utilisateur, le mot de passe Cliquez sur tester la connexion SFTP. Vous devriez voir un
Message avec succès. Sélectionnez le chemin racine. Créez un nouveau dossier dans / home (par exemple).
Cliquez sur l'onglet suivant à partir du haut Mappages
Tapez "/" dans le chemin de déploiement sur le serveur "nom_serveur"
Cliquez sur "Utiliser ce serveur par défaut (un bouton en haut)".
Allez dans Outils -> Déploiement -> Options. Cochez «Créer des répertoires vides». Et sélectionnez
“Télécharger automatiquement les fichiers modifiés sur le serveur par défaut“ Toujours ”.
Maintenant, pour qu'IntelliJ vous montre bien le code dont vous avez besoin pour installer les paquetages sur votre ordinateur.
lancez le shell sous Windows et écrivez: pip install flask-login flask-mail sqlalchemy flask-sqlalchemy flask-wtf tornade flask-cache flask-admin flask-security Vous devez les installer à la fois sur Windows et sur le serveur car IntelliJ utilisera eux aussi.
Voyons maintenant si tout va bien.
Supprimez le répertoire HelloWorld. Vous n'êtes plus débutant :)
Maintenant, structurons un peu l’application.
Créez un nouveau répertoire nommé flask_tutorial.
mkdir flask_tutorial
cd flask_tutorial
application mkdir
mkdir app / static
mkdir app / templates
Dans le répertoire principal “flask_tutorial”, créez un fichier nommé run.py.
Dans l'application, créez un __init__.py et un view.py
Voici la structure de dossiers standard d’une application Flask.
Donc, tout devrait ressembler à ceci:
flask_tutorial /
app /
__init__.py
statique/
modèles /
views.py
run.py
Le dossier de l'application contient le pain et le beurre. Le dossier statique est destiné aux fichiers css, js, jpg, etc.
__Init__.py est l'endroit où nous allons créer notre objet app. Le fichier run.py est l'emplacement du serveur.
Edit: app / __ init__.py
importation de flacon Flask
# Définir l'objet d'application WSGI
app = Flacon (__ nom__)
depuis les vues d'importation d'applications
Ici, nous créons simplement l'objet d'application et importons les vues qu'il contient. Dans les vues, nous gardons toute la logique sur la manière dont l'application répond aux demandes d'URL.
Edit: app / run.py
tornade d'importation
de tornado import autoreload
depuis tornado.wsgi import WSGIContainer
depuis tornado.httpserver importer HTTPServer
de tornado.ioloop import IOLoop
depuis tornado.log import enable_pretty_logging
depuis l'application d'importation
enable_pretty_logging ()
http_server = HTTPServer (WSGIContainer (app))
http_server.listen (1337)
ioloop = tornado.ioloop.IOLoop (). instance ()
autoreload.start (ioloop)
ioloop.start ()
Il s'agit d'une configuration par défaut sur 1 cœur pour le serveur Tornado. Nous allons commencer comme cela parce que vous n’écrivez qu’une fois et que vous l’utiliserez jusqu’à la fin du livre.
Si vous voulez entrer dans les détails avec la tornade, à la fin du livre, je vous donnerai une meilleure configuration, mais pour l’instant, c’est largement suffisant.
Jolie journalisation pour un bel affichage sur le terminal. Notez que nous lançons l'application sur le port 1337!
[hors sujet]
Si 1337 ne vous dit rien, alors voici l’introduction de wikipedia.
Leet (ou "1337"), également appelé eleet ou leetspeak, est un alphabet alternatif de la langue anglaise principalement utilisé sur Internet. Il utilise diverses combinaisons de caractères ASCII pour remplacer les lettres latines. Par exemple, les orthographes leet du mot leet incluent 1337 et l33t; eleet peut être orthographié 31337 ou 3l33t. Le terme leet est dérivé du mot élite. L'alphabet leet est une forme spécialisée d'écriture symbolique. Leet peut également être considéré comme un chiffre de substitution, bien que de nombreux dialectes ou variétés linguistiques existent dans différentes communautés en ligne. Le terme leet est également utilisé comme un adjectif pour décrire une prouesse ou un accomplissement formidable, en particulier dans les domaines du jeu en ligne et de son utilisation originale - le piratage informatique. [/hors sujet]
Édition: app / views.py
depuis l'application d'importation
@ app.route ('/')
@ app.route ('/ index')
def index ():
retourner "Bonjour, World2!"
Ici, nous mappons le / et le / index à notre fonction «index ()», qui renvoie simplement un texte simple.
Allez maintenant dans le dossier principal et lancez “python run.py” puis avec notre navigateur, testez l’application à l’adresse http: // your_server_ip: 1337, vous devriez y voir un “Hello, World2!”.