zoukankan      html  css  js  c++  java
  • Flask第二天

    2019年1月9日:
    上+上上节回顾:
    Flask
    第一天
    1.三剑客
    HTTPResponse return "hello"

    from flask import render_template
    render return render_template("模板")

    from flask import redirect
    redirect return redirect("/url")

    1.jsonify #返回json格式的数据,在响应头中加入 Content-Type:application/json
    from flask import jsonify
    return jsonify({"k":"v"})

    2.send_file # 打开文件并返回文件内容 自动识别文件类型

    2.Request
    request.form # 存储FormData中的数据 to_dict()
    request.args # 存放 URL 中的数据 to_dict()
    request.json # 在请求头中:Content-Type:application/json 自动序列化至json
    request.data # 在请求头中:Content-Type中无法被识别,将请求体中的原始数据存放在data中 b""
    request.method # 请求方式
    request.files # 文件存储 save()

    3.Session
    form flask import session
    app.secret_key = "!@#$%^&*()"

    session["user"] = "123"
    存在浏览器的cookie中了 - 由secret_key + session 加密后存放

    {user:123} + secret_key - Response-cookie - 拿到cookie存储
    请求带上cookie - flask收到cookie中的session 通过 secret_key反序列化

    第二天
    1.路由:
    1.endpoint 反向生成URL from flask import url_for 默认视图函数名
    2.methods 允许的请求方式 默认GET 多种请求["GET","POST"]
    3."/index/<int:page>" 动态路由参数
    def index(page):

    4.strict_slashes=False 是否严格遵循路由地址 /index/ /index
    5.redirct_to = "/login" 永久重定向 301
    6.defaults = {nid:1} 默认参数
    def index(nid):

    2.Flask实例化配置
    1.template_folder = "templates" 默认模板存放目录
    2.static_folder = "static" 默认静态文件存放目录
    3.static_url_path = "/static" 静态文件访问路径 "/" + static_folder

    蓝图的 url_prefix 特殊配置 url前缀

    3.Flask对象配置
    app = Flask(__name__)
    app.config.from_obj(class)

    4.蓝图 当成app
    from flask import Blueprint
    app01 = Blueprint("app01",__name__)

    @app01.route("/app01")
    def appfunc():

    app.register_blueprint(app01)

    5.特殊装饰器:
    1.before_request 在请求进入视图函数之前
    @app.before_request
    def be1
    def be2
    def be3

    2.after_request 在响应返回客户端之前
    @app.after_request
    def af1
    def af2
    def af3 自下而上 执行

    正常:be1 - be2 - be3 - af3 - af2 - af1
    异常:be1 - af3 - af2 - af1

    3.errorhandler # 重定义错误信息
    @app.errorhandler(404)
    def error404(error_info):


    今日内容:
    1.CBV - Flask基础结束
    from flask import views

    class Login(views.MethodView):
    methods = ["GET","POST"]
    decorators = [app.route]

    def get(self):
    print(url_for("my_login"))
    return render_template("login.html")

    def post(self):
    return "登陆成功"


    app.add_url_rule("/",view_func=Login.as_view("my_login"))


    2.Flask-Session
    3.WTForms
    4.数据库连接池




  • 相关阅读:
    ZOJ Problem Set–2781 Rounders
    ZOJ Problem Set 3418 Binary Number
    ZOJ Problem Set 1090 The Circumference of the Circle
    ZOJ Problem Set 2932 The Seven Percent Solution
    java的反射应用
    C++指针之数据成员指针
    为了实现相同账号不能重复登录功能做的努力
    我对设计模式的理解
    ZOJ Problem Set – 1045 HangOver
    好久不见
  • 原文地址:https://www.cnblogs.com/duhong0520/p/12133077.html
Copyright © 2011-2022 走看看