在flask中可以像go和angular那樣使用頁面模版(template),可以將HTML頁面顯示進行模版化,通過參數傳遞與頁面進行數據交互。
概要信息

事前準備:flask
liumiaocn:flask liumiao$ which flask/usr/local/bin/flaskliumiaocn:flask liumiao$ flask --versionFlask 1.0.2Python 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]liumiaocn:flask liumiao$
代碼示例:嵌入式的HTML模版
像Angular一樣,我們可以在flask中寫前端的頁面,python代碼中混雜著HTML代碼,在這里將前面的HelloWorld示例進行簡單的修改,將顯示的Hello World加上的設置。
代碼示例
liumiaocn:flask liumiao$ cat flask_1.py #!/usr/bin/pythonfrom flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return "<h1>Hello World!</h1>"if __name__ == "__main__": app.debug=True app.run(host='0.0.0.0',port=7000)liumiaocn:flask liumiao$執行&確認
在HelloWorld示例中我們提到有兩種方式啟動flask的微服務進程,這里再添加一種,添加#!/usr/bin/python之后,同時對此文件添加可執行權限比如755,即可使用.啟動
liumiaocn:flask liumiao$ chmod 755 flask_1.py liumiaocn:flask liumiao$ ./flask_1.py * Serving Flask app "flask_1" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 131-533-062
通過curl進行結果確認:
liumiaocn:flask liumiao$ curl http://localhost:7000<h1>Hello World!</h1>liumiaocn:flask liumiao$
頁面確認

代碼示例
上面的示例過于簡單,寫一個簡單的完整的頁面來確認一下
liumiaocn:flask liumiao$ cat flask_1.py #!/usr/bin/pythonfrom flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return '<!DOCTYPE html> /<html> /<head> /<meta charset="utf-8"> /<title>Hello</title> /</head> /<body>/<h1>Hello World!</h1> /</body>/</html>'if __name__ == "__main__": app.debug=True app.run(host='0.0.0.0',port=7000)liumiaocn:flask liumiao$執行&確認
通過curl可以確認頁面范圍信息
liumiaocn:flask liumiao$ ./flask_1.py * Serving Flask app "flask_1" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 131-533-062
新聞熱點
疑難解答