日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flask总结

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Flask的優缺點

優點:Flask小而精,三方組件全

缺點:穩定性相對較差,三方組件版本問題,Flask一旦迭代,就可能造成三方組件不兼容的問題。

flask三劍客 + 小兒子

Django? ? ? ? ? ? ? ? ? ? ? flask

HTTPResponse :? ?return? ?"Hello World"

render? ? ? ? ? ? ? ? :? ?render_template

redirect? ? ? ? ? ? ? :? ? redirect

?

send_file("static/123.jpg")? ? # 上傳文件

jsonify("{id: 1}")? # Content-Type: application/json

request

request.form Form表單提交的數據,POST request.args url中的參數 request.data Content-Type無法解析的數據,原始數據是字節流(b"") request.json Content-Type:application/jsonrequest.method 獲取請求方式 request.path 路由地址/login request.files 獲取文件對象  

session -? Flask-Session

from flask import sessionapp.secret_key = '123' # 如果遇到了 Must provide secret_key to use csrf錯誤提醒,原因就是沒有設置secret_key ,在代碼中加上session["user"] = "wjs" session存放在瀏覽器的cookie中默認名稱是session 序列化的數據 session.get("user")Flask-Session 一個三方組件 from flask_session import Session from flask import sessionapp.config["SESSION_TYPE"] = "redis" app.config["SESSION_REDIS"] = Redis實例 Session(app)session["user"] = "wjs" session存放在瀏覽器的cookie中默認名稱是session -- UUID session.get("user")

Flask實例化配置,對象配置:

實例化:Flask(__name__,template_folder="模板路徑",static_folder="靜態文件路徑",static_url_path="/靜態文件訪問路徑")對象配置:app.debug = Trueapp.config["DEBUG"] = Trueclass FlaskSetting(object):DEBUG = Trueapp.config.from_object(FlaskSetting)  

藍圖 Blueprint

from flask import Blueprint blue = Blueprint("blue",__name__,template_folder="模板路徑",static_folder="靜態文件路徑",static_url_path="/靜態文件訪問路徑",url_prefix="/blue")@blue.route("/blue01") def blue01():return "123"記得在app中注冊藍圖 app:app.register_blueprint(blue)  

特殊裝飾器:

  

@app.template_global() # 全局函數 def ab(a,b):return a + b {{ab(1,2)}} # 調用ab函數@app.template_filter() # 偏函數 def abc(a, b, c):return a + b + c {{2|abc(2,2)}} # 調用abc函數@app.before_request # 請求進入視圖函數之前 def be1():return None # 跳過@app.after_request # 視圖函數結束之后,返回客戶端之前 def af1(response):return response正常: 請求-be1-be2-be3-af3-af2-af1-客戶端 # be是按照代碼執行順序走,af是按照代碼執行順序的反序走異常: 請求-be1-be2-af3-af2-af1-客戶端 # 斷掉以后be斷掉后面的就不走了,af還是都走@app.errorhandler(404) # 重定義錯誤信息 def error404(args): # args存放的是錯誤信息return render_template("error.html", args=args)

Flask CBV

from flask import viewsclass Login(views.MethodView):# methods = ["POST"]def get(self):passdef post(self):passapp.add_url_rule("/login",endpoint=None,view_func=Login.as_view(name="login"),methods=["POST"])

WTForms

simple,core

flash

from flask import flash,get_flashed_messagesflash("66","tag")get_flashed_messages(category_filter=["tag"])

  

  

?

轉載于:https://www.cnblogs.com/wjs521/p/10145078.html

總結

以上是生活随笔為你收集整理的Flask总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。