App下載

flask框架怎么快速入門(mén)?

來(lái)源: 萌癌蘿莉 2021-08-16 10:39:18 瀏覽數(shù) (2747)
反饋

flask框架作為一個(gè)輕量級(jí)的python web框架。在一些中小項(xiàng)目和原型開(kāi)發(fā)中是一個(gè)相當(dāng)不錯(cuò)的選擇?;趐ython易學(xué)的特點(diǎn),flask框架的學(xué)習(xí)也是相對(duì)簡(jiǎn)單的,那么怎么快速入門(mén)flask呢?今天小編就帶你了解一下。

Flask 本身相當(dāng)于一個(gè)內(nèi)核,比如可以用 Flask 擴(kuò)展加入ORM、窗體驗(yàn)證工具,文件上傳、身份驗(yàn)證等。Flask 沒(méi)有默認(rèn)使用的數(shù)據(jù)庫(kù),你可以選擇 MySQL,也可以用 NoSQL。

其 WSGI 工具箱采用 Werkzeug(路由模塊),模板引擎則使用 Jinja2。這兩個(gè)也是 Flask 框架的核心。

Flask常用擴(kuò)展包:

  • Flask-SQLalchemy:操作數(shù)據(jù)庫(kù);
  • Flask-script:插入腳本;
  • Flask-migrate:管理遷移數(shù)據(jù)庫(kù);
  • Flask-Session:Session存儲(chǔ)方式指定;
  • Flask-WTF:表單;
  • Flask-Mail:郵件;
  • Flask-Bable:提供國(guó)際化和本地化支持,翻譯;
  • Flask-Login:認(rèn)證用戶(hù)狀態(tài);
  • Flask-OpenID:認(rèn)證;
  • Flask-RESTful:開(kāi)發(fā)REST API的工具;
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架;
  • Flask-Moment:本地化日期和時(shí)間;
  • Flask-Admin:簡(jiǎn)單而可擴(kuò)展的管理接口的框架

中文文檔(http://docs.jinkan.org/docs/flask/
英文文檔(http://flask.pocoo.org/docs/0.11/
擴(kuò)展列表:http://flask.pocoo.org/extensions/

jinjia2模板過(guò)濾器

模板過(guò)濾器
模板過(guò)濾器

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)

HTML中的表示
運(yùn)行結(jié)果

abs——絕對(duì)值

求絕對(duì)值
在這里插入圖片描述
求絕對(duì)值

defalut——沒(méi)有值就用默認(rèn)值,有就用有的值

默認(rèn)值

默認(rèn)值

默認(rèn)值

默認(rèn)值

escape(value)或e:轉(zhuǎn)義字符,會(huì)將<、>等符號(hào)轉(zhuǎn)義成HTML中的符號(hào)

轉(zhuǎn)義標(biāo)簽

escape——轉(zhuǎn)義標(biāo)簽

轉(zhuǎn)義標(biāo)簽

有開(kāi)始有結(jié)束{%autoescape 0ff %},{ % endautoescape %}效果等于 |safe

開(kāi)始結(jié)束標(biāo)簽

第一個(gè)彈窗是escape的過(guò)濾

彈窗過(guò)濾

第二個(gè)彈窗是safe的過(guò)濾

彈窗過(guò)濾

first、last、length

列表

列表使用

運(yùn)行結(jié)果

striptags(value):刪除字符串中所有的HTML標(biāo)簽,如果出現(xiàn)多個(gè)空格,將替換成一個(gè)空格

刪除標(biāo)簽
在這里插入圖片描述

嵌套使用

在這里插入圖片描述

嵌套使用

replace

在這里插入圖片描述
replace

truncate(value,length=255,killwords=False):截取length長(zhǎng)度的字符串

示例字符串

在這里插入圖片描述

運(yùn)行結(jié)果

trim——截取字符串前面和后面的空白字符

截取空白字符
在這里插入圖片描述
截取空白字符

wordcount——計(jì)算一個(gè)長(zhǎng)字符串中單詞的個(gè)數(shù)

計(jì)算單詞個(gè)數(shù)
在這里插入圖片描述
在這里插入圖片描述

定義過(guò)濾器

定義過(guò)濾器
定義過(guò)濾器
在這里插入圖片描述
運(yùn)行結(jié)果

標(biāo)準(zhǔn)類(lèi)視圖

類(lèi)視圖

這是函數(shù)

函數(shù)

運(yùn)行結(jié)果

這是類(lèi)視圖(/profile/是路由(路徑),endpoint是重命名,view_func是綁定的函數(shù)(調(diào)用)

函數(shù)綁定

函數(shù)綁定

同時(shí),在根目錄添加url_for,此時(shí)直接運(yùn)行會(huì)報(bào)錯(cuò)

防止直接運(yùn)行
報(bào)錯(cuò)結(jié)果

原因在于endpoint重命名了

報(bào)錯(cuò)原因

解決方式是把Url_for的profile改成,endpoint的geren

運(yùn)行結(jié)果
控制臺(tái)運(yùn)行結(jié)果
代碼展示

標(biāo)準(zhǔn)類(lèi)視圖使用

標(biāo)準(zhǔn)類(lèi)視圖
代碼實(shí)現(xiàn)

會(huì)發(fā)生錯(cuò)誤

報(bào)錯(cuò)

查看views的源代碼——用views的方法必須重寫(xiě)

重寫(xiě)views

重寫(xiě)類(lèi)視圖

重寫(xiě)類(lèi)視圖

成功了

運(yùn)行結(jié)果

類(lèi)視圖映射——app.add_url_rule('/路徑/', view_func=類(lèi)視圖名稱(chēng).as_view(‘取名')) 字典數(shù)據(jù)返回轉(zhuǎn)換json數(shù)據(jù)——用jsonify()——需要導(dǎo)包

映射
運(yùn)行結(jié)果

登錄注冊(cè)頁(yè)面

注冊(cè)登錄
在這里插入圖片描述
運(yùn)行結(jié)果

添加用戶(hù)信息,同時(shí)在html渲染出來(lái)

添加用戶(hù)信息
HTML頁(yè)面
運(yùn)行結(jié)果

兩個(gè)用戶(hù)名相同,所有抽取出來(lái)——繼承

繼承

運(yùn)行結(jié)果

基于調(diào)度方式的視圖

基于調(diào)度方式的視圖
缺陷

復(fù)習(xí)

模板過(guò)濾器
標(biāo)準(zhǔn)類(lèi)視圖

以上就是怎么快速入門(mén)flask的詳細(xì)內(nèi)容,更多關(guān)于python flask框架的資料請(qǐng)關(guān)注W3Cschool其它相關(guān)文章!


0 人點(diǎn)贊