2022-03-21

基礎教程: https://www.w3cschool.cn/flask/

官網(wǎng)教程:https://flask.net.cn/tutorial/index.html

學習博客:https://blog.csdn.net/weixin_45950544/article/details/104067405

常用擴展包

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:簡單而可擴展的管理接口的框架

Flask 的擴展通常命名為“ Flask-Foo ”或者“ Foo-Flask ” ??梢栽?PyPI 搜索 標記為 Framework :: Flask 擴展包。

Flask-SQLalchemy

1.配置:https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/

2.使用命令自動生成model

<input autocomplete="off" type="search" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="rc_select_9_list" aria-autocomplete="list" aria-controls="rc_select_9_list" aria-activedescendant="rc_select_9_list_0" value="" id="rc_select_9">Shell

收 起

<textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; min-height: 1em; outline: none;"></textarea>

<pre class="CodeMirror-line-like">xxxxxxxxxx</pre>

1

<pre class=" CodeMirror-line " role="presentation">pip install flask-sqlacodegen</pre>

2

<pre class=" CodeMirror-line " role="presentation">flask-sqlacodegen "mysql+pymysql://用戶名:密碼@host:port/數(shù)據(jù)庫" --tables 表 --outfile "導出地址" --flask</pre>

學習播客:

https://blog.csdn.net/LYLLOAD/article/details/81664322

http://www.itdecent.cn/p/f7ba338016b8

Flask-RESTful

學習博客:

https://www.cnblogs.com/donghaoblogs/p/10389696.html

http://www.pythondoc.com/Flask-RESTful/quickstart.html

<input autocomplete="off" type="search" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="rc_select_10_list" aria-autocomplete="list" aria-controls="rc_select_10_list" aria-activedescendant="rc_select_10_list_0" value="" id="rc_select_10">Python

收 起

<textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; min-height: 1em; outline: none;"></textarea>

<pre class="CodeMirror-line-like">xxxxxxxxxx</pre>

16

1

<pre class=" CodeMirror-line " role="presentation"># flask-restful + blueprint開發(fā)流程</pre>

2

<pre class=" CodeMirror-line " role="presentation"></pre>

3

<pre class=" CodeMirror-line " role="presentation"># 步驟1:創(chuàng)建app</pre>

4

<pre class=" CodeMirror-line " role="presentation">app = Flask(name)</pre>

5

<pre class=" CodeMirror-line " role="presentation"></pre>

6

<pre class=" CodeMirror-line " role="presentation"># 步驟2:創(chuàng)建藍圖</pre>

7

<pre class=" CodeMirror-line " role="presentation">blueprint = Blueprint('api', name)</pre>

8

<pre class=" CodeMirror-line " role="presentation"></pre>

9

<pre class=" CodeMirror-line " role="presentation"># 步驟3:創(chuàng)建api</pre>

10

<pre class=" CodeMirror-line " role="presentation">api = Api(blueprint)</pre>

11

<pre class=" CodeMirror-line " role="presentation"></pre>

12

<pre class=" CodeMirror-line " role="presentation"># 步驟4:注冊藍圖</pre>

13

<pre class=" CodeMirror-line " role="presentation">app.register_blueprint(blueprint)</pre>

14

<pre class=" CodeMirror-line " role="presentation"></pre>

15

<pre class=" CodeMirror-line " role="presentation"># 注冊路由</pre>

16

<pre class=" CodeMirror-line " role="presentation">api.add_resource(DemoView, '/')</pre>

注意:

Blueprint 并不是一個完整的應用,它不能獨立于應用運行,而必須要注冊到某一個應用中。

注冊的順序是先將藍圖綁定到 api 中,這時 api 既有自身的功能,還有藍圖的功能,這是創(chuàng)建 api,藍圖還需要注冊到 app 中,最后使用 api 進行路由注冊

注冊藍圖和路由的順序不能反,因為藍圖綁定到 api 中了

常用鉤子函數(shù)

學習博客:

https://blog.csdn.net/T_I_A_N_/article/details/100086143

藍圖

學習博客:https://zhuanlan.zhihu.com/p/357444025

Flask工廠函數(shù)

學習博客:http://www.itdecent.cn/p/fb6e85c8a3c1

Flask配置

https://zhuanlan.zhihu.com/p/24055329

1.內(nèi)置配置:https://flask.net.cn/config.html https://www.cnblogs.com/songzhixue/p/11171458.html

2.擴展庫配置

a.flask_sqlalchemy:http://www.pythondoc.com/flask-sqlalchemy/config.html

Flask開發(fā)流程

<input autocomplete="off" type="search" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="rc_select_11_list" aria-autocomplete="list" aria-controls="rc_select_11_list" aria-activedescendant="rc_select_11_list_0" value="" id="rc_select_11">Python

收 起

<textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; min-height: 1em; outline: none;"></textarea>

<pre class="CodeMirror-line-like">x</pre>

1

<pre class=" CodeMirror-line " role="presentation">from flask import Flask</pre>

2

<pre class=" CodeMirror-line " role="presentation">from config import Config</pre>

3

<pre class=" CodeMirror-line " role="presentation"></pre>

4

<pre class=" CodeMirror-line " role="presentation">from flask_sqlalchemy import SQLAlchemy</pre>

5

<pre class=" CodeMirror-line " role="presentation"></pre>

6

<pre class=" CodeMirror-line " role="presentation">db = SQLAlchemy()</pre>

7

<pre class=" CodeMirror-line " role="presentation"></pre>

8

<pre class=" CodeMirror-line " role="presentation"># 步驟1:自定義工廠函數(shù)</pre>

9

<pre class=" CodeMirror-line " role="presentation">def create_app()</pre>

10

<pre class=" CodeMirror-line " role="presentation"> app = Flask(name)</pre>

11

<pre class=" CodeMirror-line " role="presentation"> # 加載配置文件</pre>

12

<pre class=" CodeMirror-line " role="presentation"> app.config.from_object(Config)</pre>

13

14

<pre class=" CodeMirror-line " role="presentation"> # 初始化各種擴展庫</pre>

15

<pre class=" CodeMirror-line " role="presentation"> db.init_app(app)</pre>

16

17

<pre class=" CodeMirror-line " role="presentation"> # 注冊藍圖</pre>

18

<pre class=" CodeMirror-line " role="presentation"> from app.routes import main_routes</pre>

19

<pre class=" CodeMirror-line " role="presentation"> app.register_blueprint(main_routes)</pre>

20

<pre class=" CodeMirror-line " role="presentation"> return app</pre>

21

<pre class=" CodeMirror-line " role="presentation"># -----------------------------------------</pre>

22

<pre class=" CodeMirror-line " role="presentation"></pre>

23

<pre class=" CodeMirror-line " role="presentation"># 步驟2:使用flask-restful + blueprint開發(fā)接口</pre>

24

<pre class=" CodeMirror-line " role="presentation"># 定義路由:將視圖函數(shù)(view)綁定到url</pre>

25

<pre class=" CodeMirror-line " role="presentation">from flask import Blueprint</pre>

26

<pre class=" CodeMirror-line " role="presentation">from flask_restful import Api</pre>

27

<pre class=" CodeMirror-line " role="presentation">from . import view</pre>

28

<pre class=" CodeMirror-line " role="presentation"></pre>

29

<pre class=" CodeMirror-line " role="presentation">bp = Blueprint('hello_world', name, url_prefix='/hello_world')</pre>

30

<pre class=" CodeMirror-line " role="presentation"></pre>

31

<pre class=" CodeMirror-line " role="presentation"># 創(chuàng)建api</pre>

32

<pre class=" CodeMirror-line " role="presentation">api = Api(bp)</pre>

33

<pre class=" CodeMirror-line " role="presentation"></pre>

34

<pre class=" CodeMirror-line " role="presentation"># 注冊路由</pre>

35

<pre class=" CodeMirror-line " role="presentation">api.add_resource(DemoView, '/')</pre>

36

<pre class=" CodeMirror-line " role="presentation"></pre>

37

<pre class=" CodeMirror-line " role="presentation"># --------------------------------------</pre>

38

<pre class=" CodeMirror-line " role="presentation"># 步驟3:編寫view函數(shù)</pre>

39

<pre class=" CodeMirror-line " role="presentation">class DemoView(Resource):</pre>

40

<pre class=" CodeMirror-line " role="presentation"> def get(self):</pre>

41

<pre class=" CodeMirror-line " role="presentation"> return 'hello world'</pre>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • flask使用操作指南1 1. flask介紹 Flask是一個基于Python實現(xiàn)的web開發(fā)的'微'框架 中文...
    文化銀兒閱讀 17,395評論 4 18
  • 1.對比Django 比較項DjangoFlask復雜度比較說明項目創(chuàng)建Django需要用命令創(chuàng)建項目Flask直...
    闊落噸噸噸閱讀 755評論 0 0
  • 筆記 RESTful架構(gòu)風格概述 RESTful架構(gòu)風格 RESTful架構(gòu)風格最初由Roy T. Fieldin...
    plutoese閱讀 12,961評論 3 58
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007閱讀 2,323評論 0 3
  • Flask本身相當于一個內(nèi)核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-L...
    Solomon_Xie閱讀 1,300評論 0 20

友情鏈接更多精彩內(nèi)容