python学習日記-2016.8.3
3079 ワード
1.問題が発生しました.Flaskパッケージをインストールしてインポートできない理由を発見しました.pyファイルの名前はflaskです.py、flaskフレームワークの名前と一致するので、IDEは自動的に自分の解決方法をインポートすることを認識します:pyファイルの名前を変更します
2.Webフレームワークflask Flaskを使用してPythonのデコレーションで内部で自動的にURLと関数を関連付けるので、私たちが書いたコードはこうです.
python appを実行します.py,Flaskが持参したサーバはポート5000で傍受する:
3.テンプレートの使用
Webアプリの最も複雑な部分はHTMLページにあります.HTMLは正しいだけでなく、CSSで美化し、複雑なJavaScriptスクリプトを加えて様々なインタラクションとアニメーション効果を実現します.要するに、HTMLページを生成するのは難しいです.上のコードはビジネスロジックとページを混在させ、コードのメンテナンスとページの再構築に不利です.そのため、mvcモードを使用してビューレイヤとビジネスロジックを分離する必要があります.
その中で、home.html,signin-ok.html,form.htmlはappに置く.py同級のフォルダの下はhomeです.htmlのコード
次はformです.htmlのコード
次はsignin-okのコードです
2.Webフレームワークflask Flaskを使用してPythonのデコレーションで内部で自動的にURLと関数を関連付けるので、私たちが書いたコードはこうです.
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
return 'Home'
@app.route('/signin', methods=['GET'])
def signin_form():
return '''
'''
@app.route('/signin', methods=['POST'])
def signin():
# request :
if request.form['username']=='admin' and request.form['password']=='password':
return 'Hello, admin!
'
return 'Bad username or password.
'
if __name__ == '__main__':
app.run()
python appを実行します.py,Flaskが持参したサーバはポート5000で傍受する:
$ python app.py
* Running on http://127.0.0.1:5000/
3.テンプレートの使用
Webアプリの最も複雑な部分はHTMLページにあります.HTMLは正しいだけでなく、CSSで美化し、複雑なJavaScriptスクリプトを加えて様々なインタラクションとアニメーション効果を実現します.要するに、HTMLページを生成するのは難しいです.上のコードはビジネスロジックとページを混在させ、コードのメンテナンスとページの再構築に不利です.そのため、mvcモードを使用してビューレイヤとビジネスロジックを分離する必要があります.
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
return render_template('home.html')
@app.route('/signin', methods=['GET'])
def signin_form():
return render_template('form.html')
@app.route('/signin', methods=['POST'])
def signin():
username = request.form['username']
password = request.form['password']
if username=='admin' and password=='password':
return render_template('signin-ok.html', username=username)
return render_template('form.html', message='Bad username or password', username=username)
if __name__ == '__main__':
app.run()
その中で、home.html,signin-ok.html,form.htmlはappに置く.py同級のフォルダの下はhomeです.htmlのコード
Home
Home
次はformです.htmlのコード
Please Sign In
{% if message %}
{{ message }}
{% endif %}
次はsignin-okのコードです
Welcome, {{ username }}
Welcome, {{ username }}!