| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
239 バイト追加 、 2020年2月15日 (土) 08:02
編集の要約なし
==Flask==
[[Python][Angular]]
{{amazon|B00XZTYMG6}}
*http://flask.pocoo.org/
*http://flask.pocoo.org/docs/0.12/installation/
*Windows , python3
> > pythoh -m venv flask > > cd flask\Scripts > > activate (flask)> > pip install Flask
===Visual Studio Code===
[[File:0511_flask_vscode_settings.jpg]]
**https://github.com/pppiroto/flask_sample.git
=====ローカルリポジトリを初期化=====
> > git init
=====ローカルリポジトリにコミット=====
> > git add . > > git commit -m "flask lesson init" > > git branch
* master
=====リモートリポジトリの設定=====
> > git remote add origin https://github.com/pppiroto/flask_sample.git
=====リモートリポジトリにpush=====
> > git push origin master
==クイックスタート==
===サーバー起動===
*Visual Studio Code、Powershell
(flask) PS C:\workspaces\vscode\flask_sample> > set-item env:FLASK_APP hello.py (flask) PS C:\workspaces\vscode\flask_sample> > python -m flask run
* Serving Flask app "hello"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
[[File:0506_flask_run_server.jpg]]
====デバッグモード====
PS> > set-item env:FLASK_DEBUG 1
===ルーティング===
from flask import Flask
===変数===
@app.route('/user/<&lt;username>&gt;/<&lt;int:age>&gt;')
def show_user_profile(username, age):
return 'User {0} {1}'.format(username,age)
=====<&lt;コンバーター:変数>&gt;=====
{|class="wikitable"
!コンバーター
return 'Hello world!'
@app.route('/user/<&lt;username>&gt;/<&lt;int:age>&gt;')
def show_user_profile(username, age):
return 'User {0} {1}'.format(username,age)
def print_urls():
return '''
<&lt;ol>&gt; <&lt;li>&gt;index() = {0} <&lt;li>&gt;hello_world() = {1} <&lt;li>&gt;show_user_profile('piroto',46) = {2} <&lt;/ol>&gt;
'''.format(
url_for('index'),
=====テンプレート利用=====
from flask import Flask, render_template
@app.route('/render_sample/<&lt;param>&gt;')
def render_sample(param=None):
return render_template('render_sample.html',param=param)
=====テンプレート=====
<&lt;!doctype html>&gt; <&lt;title>&gt;Rendering Sample<&lt;/title>&gt;
{% if param %}
<&lt;h1>&gt;Parameter : {{ param }}!<&lt;/h1>&gt;
{% else %}
<&lt;h1>&gt;No parameter found.<&lt;/h1>&gt;
{% endif %}
*安全と確信できる場合、Markupクラスもしくは、 |safeフィルターを使用する
=====テンプレート=====
<&lt;!doctype html>&gt; <&lt;title>&gt;Safe Rendering Sample<&lt;/title>&gt; <&lt;p>&gt;{{ param1 }}<&lt;/p>&gt; <&lt;p>&gt;{{ param2 }}<&lt;/p>&gt; <&lt;p>&gt;{{ param3 | safe}}<&lt;/p>&gt;
==========
from flask import Markup
def render_safe_var(param=None):
return render_template('render_safe_var.html',
param1="<&lt;h2>&gt;Sub title<&lt;/h2>&gt;", param2=Markup("<&lt;h2>&gt;Mark up Sub title<&lt;/h2>&gt;"), param3="<&lt;h2>&gt;Safe filtered Sub title<&lt;/h2>&gt;")
{{ref_image flask_safe_var.jpg.jpg}}
===リクエストデータへのアクセス===

案内メニュー