Après tout, quand j'ai appris à connaître python, j'ai pensé que je devais le sortir d'une manière ou d'une autre, et quand je cherchais un framework Web pour python, j'ai trouvé Flask et django.
Il semble qu'il y ait beaucoup d'autres choses.
Référence: Le Python le plus chaud en 2016! Comparaison approfondie de trois frameworks WEB http://www.sejuku.net/blog/3713#Python
Si vous faites une erreur au moment de la construction de l'environnement, vous perdrez votre motivation à la fois, alors j'aimerais essayer "Flask", qui semble être relativement facile à introduire.
CentOS 7
** Installez virtualenv **
Commun aux séries python2.7 et 3.5
easy_install virtualenv
Vous pouvez également utiliser pip
# pip3 install virtualenv
Ensuite, utilisez Flask pour créer un répertoire pour afficher la page.
# mkdir test
# cd test
Ensuite, créez un environnement appelé env avec virtualenv
# virtualenv env
Puis activez cet environnement.
# . env/bin/activate
# easy_install Flask
À propos, il peut également être installé avec pip.
# pip install flask
Créez hello.py et créez la structure de répertoires comme indiqué ci-dessous.
test ┣ env ┗ hello.py
#hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "Hello World!"
if __name__ == '__main__':
app.run()
Faites ceci.
# python hello.py
* Running on http://localhost:5000/ (Press CTRL+C to quit)
Vérifiez directement à partir du local avec un navigateur Web. Entrez ttp: // localhost: 5000 / ou ttp: //127.0.0.1:5000/ dans la barre d'adresse pour l'ouvrir.
Si cela réussit, je souhaite continuer à charger le fichier "HTML".
test ┣ env ┣ templates ┃ ┗ world.html ┗ hello.py
Créez un répertoire comme celui ci-dessus.
Préparez le HTML à charger cette fois.
#world.html
<!doctype html>
<title>templates Hello World</title>
<h1>TEMPLATES Hello World</h1>
Pour charger world.html, demandez à hello.py import render_template pour charger le répertoire des modèles.
#hello.py
from flask import Flask,render_template #<-- render_Charger le modèle
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('hello.html')
if __name__ == '__main__':
app.run()
En peaufinant la partie @ app.route ('/') de hello.py plus tôt, vous pouvez le faire se comporter comme s'il y avait un répertoire de niveau inférieur. Je vais vraiment l'essayer.
#hello.py
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/world/') #<--Charger en tant que répertoire du monde virtuel
def hello():
return render_template('hello.html')
if __name__ == '__main__':
# app.debug = True
app.run(host='0.0.0.0')
Dans ce qui précède, @ app.route ('/') est remplacé par @ app.route ('/ world /').
Modifions le HTML pour que vous puissiez voir qu'il a également changé.
#world.html
<!doctype html>
<title>templates Hello World</title>
<h1>WORLD Hello World</h1>
Je vais essayer.
# python hello.py
* Running on http://localhost:5000/ (Press CTRL+C to quit)
À ttp: //127.0.0.1:5000/, il sera introuvable et ne sera pas affiché.
Il est affiché sur ttp: //127.0.0.1:5000/world/.
Puisqu'il est sur le Web, il n'a pas de sens s'il ne peut être vu que sur le PC local du serveur. Ajustez un peu hello.py. Modifiez le dernier code, app.run ().
app.run()
app.run(host='0.0.0.0')
Vous pouvez maintenant y accéder depuis d'autres PC. Bien sûr, gardez le port 5000 sur le pare-feu ouvert.
Quand j'ai créé "hello.py", je pensais que ça irait bien, alors je l'ai nommé "flask.py".
Comme ce nom est utilisé ailleurs, j'obtiens une erreur indiquant que le flacon ne peut pas être importé.
# python flask.py
Traceback (most recent call last):
File "flask.py", line 1, in <module>
from flask import Flask
File "/root/test/flask.py", line 1, in <module>
from flask import Flask
ImportError: cannot import name 'Flask'
C'était une coïncidence, mais j'ai appris une chose.
Recommended Posts