Flaskr 開發說明
官方文檔html
http://flask.pocoo.org/docs/0.12/tutorial/python
演示網站 http://flaskr.it592.com/ 涉及到的內容:sql
- 鏈接sqlite,增刪查
- 模板使用
- 應用上下文、請求上下文
- session
- 單元測試
- g,app.cli.command()
知識點詳解flask
- 鏈接sqlite
rv = sqlite3.connect("sqlite所在的位置") rv.row_factory = sqlite3.Row # 將查詢數據和查詢語句組合爲字典的形式,而非tuple
- 模板的使用
render_template("index.html",name = "") # 模板使用很簡單 # 在模板中變量取值用 {{ name}} # 判斷 {% if flag %} {% else %} {% endif %} # 循環 {% for x in name%} {% endfor%} # 模板繼承 {% extends 目標名%} # url生成 {{url_for("index")}} {{url_for("static",filename="")}} #靜態資源
- g對象的使用
# g 對象是和當前應用上下文有關的變量,可以保證線程安全,咱們能夠用來存儲當前請求的一些信息 def get_db(): if not hasattr(g, "sqlite_db"): g.sqlite_db = connect_db() return g.sqlite_db # 對於不一樣的請求,g對象的內容是不一樣的
- app.cli.command()
#app.cli.command() 會給flask腳本註冊一個新的命令,而且自動建立應用上下文 @app.cli.command('initdb') #註冊initdb命令, def initdb_command(): """Initializes the database.""" init_db() print('Initialized the database.')
- 單元測試 根據flaskr.app.test_client()來發出get、post請求