Flask 本身相當于一個內核,比如可以用 Flask 擴展加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask 沒有默認使用的數(shù)據(jù)庫,你可以選擇 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模塊),模板引擎則使用 Jinja2。這兩個也是 Flask 框架的核心。
Flask常用擴展包:
- Flask-SQLalchemy:操作數(shù)據(jù)庫;
- Flask-script:插入腳本;
- Flask-migrate:管理遷移數(shù)據(jù)庫;
- Flask-Session:Session存儲方式指定;
- Flask-WTF:表單;
- Flask-Mail:郵件;
- Flask-Bable:提供國際化和本地化支持,翻譯;
- Flask-Login:認證用戶狀態(tài);
- Flask-OpenID:認證;
- Flask-RESTful:開發(fā)REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和時間;
- Flask-Admin:簡單而可擴展的管理接口的框架
中文文檔(http://docs.jinkan.org/docs/flask/)
英文文檔(http://flask.pocoo.org/docs/0.11/)
擴展列表:http://flask.pocoo.org/extensions/
jinjia2模板過濾器
from flask import Flask,render_template
app =Flask(__name__)
@app.route('/')
def index():
context ={
'name':'engine',
'age':18,
}
return render_template('index.html',**context)
if __name__ == '__main__':
app.run(debug=True)
abs——絕對值
defalut——沒有值就用默認值,有就用有的值
escape(value)或e:轉義字符,會將、>等符號轉義成HTML中的符號
escape——轉義標簽
有開始有結束{%autoescape 0ff %},{ % endautoescape %}效果等于 |safe
第一個彈窗是escape的過濾
第二個彈窗是safe的過濾
first、last、length
striptags(value):刪除字符串中所有的HTML標簽,如果出現(xiàn)多個空格,將替換成一個空格
嵌套使用
replace
truncate(value,length=255,killwords=False):截取length長度的字符串
trim——截取字符串前面和后面的空白字符
wordcount——計算一個長字符串中單詞的個數(shù)
定義過濾器
標準類視圖
這是函數(shù)
這是類視圖(/profile/是路由(路徑),endpoint是重命名,view_func是綁定的函數(shù)(調用)
同時,在根目錄添加url_for,此時直接運行會報錯
原因在于endpoint重命名了
解決方式是把Url_for的profile改成,endpoint的geren
標準類視圖使用
會發(fā)生錯誤
查看views的源代碼——用views的方法必須重寫
重寫類視圖
成功了
類視圖映射——app.add_url_rule('/路徑/', view_func=類視圖名稱.as_view(‘取名')) 字典數(shù)據(jù)返回轉換json數(shù)據(jù)——用jsonify()——需要導包
登錄注冊頁面
添加用戶信息,同時在html渲染出來
兩個用戶名相同,所有抽取出來——繼承
基于調度方式的視圖
復習
以上就是python flask框架快速入門的詳細內容,更多關于python flask框架的資料請關注腳本之家其它相關文章!
您可能感興趣的文章:- python flask中靜態(tài)文件的管理方法
- Python的Flask框架中Flask-Admin庫的簡單入門指引
- Flask的圖形化管理界面搭建框架Flask-Admin的使用教程
- 打包FlaskAdmin程序時關于static路徑問題的解決