flask框架作為一個輕量級的python web框架。在一些中小項(xiàng)目和原型開發(fā)中是一個相當(dāng)不錯的選擇?;趐ython易學(xué)的特點(diǎn),flask框架的學(xué)習(xí)也是相對簡單的,那么怎么快速入門flask呢?今天小編就帶你了解一下。
Flask 本身相當(dāng)于一個內(nèi)核,比如可以用 Flask 擴(kuò)展加入ORM、窗體驗(yàn)證工具,文件上傳、身份驗(yàn)證等。Flask 沒有默認(rèn)使用的數(shù)據(jù)庫,你可以選擇 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模塊),模板引擎則使用 Jinja2。這兩個也是 Flask 框架的核心。
Flask常用擴(kuò)展包:
- Flask-SQLalchemy:操作數(shù)據(jù)庫;
- Flask-script:插入腳本;
- Flask-migrate:管理遷移數(shù)據(jù)庫;
- Flask-Session:Session存儲方式指定;
- Flask-WTF:表單;
- Flask-Mail:郵件;
- Flask-Bable:提供國際化和本地化支持,翻譯;
- Flask-Login:認(rèn)證用戶狀態(tài);
- Flask-OpenID:認(rèn)證;
- Flask-RESTful:開發(fā)REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和時間;
- Flask-Admin:簡單而可擴(kuò)展的管理接口的框架
中文文檔(http://docs.jinkan.org/docs/flask/)
英文文檔(http://flask.pocoo.org/docs/0.11/)
擴(kuò)展列表: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——沒有值就用默認(rèn)值,有就用有的值
escape(value)或e:轉(zhuǎn)義字符,會將<、>等符號轉(zhuǎn)義成HTML中的符號
escape——轉(zhuǎn)義標(biāo)簽
有開始有結(jié)束{%autoescape 0ff %},{ % endautoescape %}效果等于 |safe
第一個彈窗是escape的過濾
第二個彈窗是safe的過濾
first、last、length
striptags(value):刪除字符串中所有的HTML標(biāo)簽,如果出現(xiàn)多個空格,將替換成一個空格
嵌套使用
replace
truncate(value,length=255,killwords=False):截取length長度的字符串
trim——截取字符串前面和后面的空白字符
wordcount——計(jì)算一個長字符串中單詞的個數(shù)
定義過濾器
標(biāo)準(zhǔn)類視圖
這是函數(shù)
這是類視圖(/profile/是路由(路徑),endpoint是重命名,view_func是綁定的函數(shù)(調(diào)用)
同時,在根目錄添加url_for,此時直接運(yùn)行會報(bào)錯
原因在于endpoint重命名了
解決方式是把Url_for的profile改成,endpoint的geren
標(biāo)準(zhǔn)類視圖使用
會發(fā)生錯誤
查看views的源代碼——用views的方法必須重寫
重寫類視圖
成功了
類視圖映射——app.add_url_rule('/路徑/', view_func=類視圖名稱.as_view(‘取名')) 字典數(shù)據(jù)返回轉(zhuǎn)換json數(shù)據(jù)——用jsonify()——需要導(dǎo)包
登錄注冊頁面
添加用戶信息,同時在html渲染出來
兩個用戶名相同,所有抽取出來——繼承
基于調(diào)度方式的視圖
復(fù)習(xí)
以上就是怎么快速入門flask的詳細(xì)內(nèi)容,更多關(guān)于python flask框架的資料請關(guān)注W3Cschool其它相關(guān)文章!