Als ich Python kennenlernte, dachte ich, ich müsste es irgendwie ausgeben, und als ich nach einem Webframework für Python suchte, kam ich auf Flask und Django.
Es scheint, dass es viele andere Dinge gibt.
Referenz: Der heißeste Python im Jahr 2016! Gründlicher Vergleich von drei WEB-Frameworks http://www.sejuku.net/blog/3713#Python
Wenn Sie zum Zeitpunkt des Aufbaus der Umgebung einen Fehler machen, verlieren Sie sofort Ihre Motivation. Daher möchte ich "Flask" ausprobieren, das relativ einfach einzuführen scheint.
CentOS 7
** Installiere virtualenv **
Gemeinsam für die Serien Python2.7 und 3.5
easy_install virtualenv
Sie können auch pip verwenden
# pip3 install virtualenv
Verwenden Sie als Nächstes Flask, um ein Verzeichnis zum Anzeigen der Seite zu erstellen.
# mkdir test
# cd test
Erstellen Sie als Nächstes mit virtualenv eine Umgebung namens env
# virtualenv env
Aktivieren Sie dann diese Umgebung.
# . env/bin/activate
# easy_install Flask
Übrigens kann es auch mit pip installiert werden.
# pip install flask
Erstellen Sie hello.py und erstellen Sie die Verzeichnisstruktur wie unten gezeigt.
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()
Mach das.
# python hello.py
* Running on http://localhost:5000/ (Press CTRL+C to quit)
Überprüfen Sie direkt von der lokalen mit einem Webbrowser. Geben Sie ttp: // localhost: 5000 / oder ttp: //127.0.0.1:5000/ in die Adressleiste ein, um es zu öffnen.
Wenn das oben genannte erfolgreich ist, möchte ich die "HTML" -Datei weiter laden.
test ┣ env ┣ templates ┃ ┗ world.html ┗ hello.py
Erstellen Sie ein Verzeichnis wie das oben beschriebene.
Bereiten Sie den HTML-Code vor, der dieses Mal geladen werden soll.
#world.html
<!doctype html>
<title>templates Hello World</title>
<h1>TEMPLATES Hello World</h1>
Lassen Sie hello.py render_template importieren, um world.html zu laden und das Vorlagenverzeichnis zu laden.
#hello.py
from flask import Flask,render_template #<-- render_Vorlage laden
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('hello.html')
if __name__ == '__main__':
app.run()
Wenn Sie den Teil @ app.route ('/') von hello.py früher optimieren, können Sie festlegen, dass er sich so verhält, als ob es ein Verzeichnis auf niedrigerer Ebene gibt. Ich werde es tatsächlich versuchen.
#hello.py
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/world/') #<--Als virtuelles Weltverzeichnis laden
def hello():
return render_template('hello.html')
if __name__ == '__main__':
# app.debug = True
app.run(host='0.0.0.0')
Oben wurde @ app.route ('/') in @ app.route ('/ world /') geändert.
Lassen Sie uns den HTML-Code ändern, damit Sie sehen können, dass er sich ebenfalls geändert hat.
#world.html
<!doctype html>
<title>templates Hello World</title>
<h1>WORLD Hello World</h1>
Ich werde es versuchen.
# python hello.py
* Running on http://localhost:5000/ (Press CTRL+C to quit)
Unter ttp: //127.0.0.1:5000/ wird es nicht gefunden und nicht angezeigt.
Es wird unter ttp: //127.0.0.1:5000/world/ angezeigt.
Da es sich im Web befindet, ist es bedeutungslos, wenn es nur auf dem lokalen Server-PC angezeigt wird. Tweak hallo.py ein wenig. Ändern Sie den letzten Code, app.run ().
app.run()
app.run(host='0.0.0.0')
Sie können jetzt von anderen PCs aus darauf zugreifen. Lassen Sie Port 5000 auf der Firewall natürlich offen.
Als ich "hello.py" erstellt habe, dachte ich, dass es in Ordnung wäre, also habe ich es "flask.py" genannt.
Da dieser Name an anderer Stelle verwendet wird, wird die Fehlermeldung angezeigt, dass der Kolben nicht importiert werden kann.
# 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'
Es war ein Zufall, aber eines habe ich gelernt.
Recommended Posts