zoukankan      html  css  js  c++  java
  • flask框架的参数配置

    关于装饰器的多次使用抛异常:函数被覆盖

    可以使用两种方法解决:

    1.引入functools里面的wraps装饰器修复工具

    2.给各个视图指定视图函数名 endpoint

    flask中的路由:

    1.endpoint :反向生成URL地址标志 默认视图函数名url_for

    2.methods 视图函数允许的请求

    3."/index/<page>" 动态路由路由参数
      def index(page)
    4.defaults={"nid":"123456"} 默认参数
    5.strict_slashes=True 是否严格遵循路由地址
    6.redirect_to="/login" 永久重定向 301

    flask实例化配置
    1.template_folder="temp" 默认模板路径 templates
    2.static_folder="static", 默认静态文件路径 static
    3.static_url_path="/static" 访问静态文件路由地址 默认是"/"+static_folder

    4.static_host=None 指定静态文件服务器地址
    5.host_matching = False, # 如果不是特别需要的话,慎用,否则所有的route 都需要host=""的参数
    6.subdomain_matching = False, # 理论上来说是用来限制SERVER_NAME子域名的,但是目前还没有感觉出来区别在哪里
    7.instance_path = None, # 指向另一个Flask实例的路径
    8.instance_relative_config = False # 是否加载另一个实例的配置
    9.root_path = None # 主模块所在的目录的绝对路径,默认项目目录

     

    flask对象配置
    'DEBUG': False, # 是否开启Debug模式
    'TESTING': False, # 是否开启测试模式
    'SECRET_KEY': None # 在启用Flask内置Session的时候/开启flash,一定要有它
    'PERMANENT_SESSION_LIFETIME': 31, # days , Session的生命周期(天)默认31天
    'SESSION_COOKIE_NAME': 'session', # 在cookies中存放session加密字符串的名字

     

    class FlaskDebug(object):
    DEBUG=True
    SECRET_KEY="DEBUGmoshidesecret_key"
    PERMANENT_SESSION_LIFETIME = 7
    SESSION_COOKIE_NAME = "debug_session"

     

    app.config.from_object(FlaskDebug)

    flask蓝图 (蓝图配置)
    Blueprint 当成一个不能被启动的 app Flask示例
    from flask import Blueprint,render_template
    s4app = Blueprint("s4app",__name__,template_folder="apptemp",url_prefix="/blue")
    @s4app.route("/s4app")
    def s4appfunc():
    return render_template("s4app.html")

    app.register_blueprint(views.s4app)

    url_prefix="/blue" url前缀

    flask中的flash
    from flask import flash,get_flashed_messages

    flash("message","tag")
    get_flashed_messages()


    flask特殊装饰器
    @app.before_request # 请求进入视图函数之前
    @app.after_request # 响应返回客户端之前
    正常情况下流程:be1 ---> be2---> be3 ---> af3 ---> af2 ----> af1
    异常情况下流程:be1 ----> af3 ----> af2 ----> af1

    @app.errorhandler(404) # 重定义错误页面返回信息
    def error404(error_info):
    return 三剑客+小儿子

    flask中的CBV实现:

    from flask import Flask,views
    
    app=Flask(__name__)
    
    # @app.route('/index')
    # def index():
    #     return 'hello'
    
    class Show(views.MethodView):
        def get(self):
            return "oj8k"
    
    app.add_url_rule('/',view_func=Show.as_view("my_show"))
    
    app.run(debug=True)

     

  • 相关阅读:
    js FormData 的使用
    js代码 注释 test
    JavaScript创建对象的几种 方式
    js prototype 原型
    C# 遍历对象下的 属性
    C#模拟按键
    C#获取硬盘序列号
    C#结束Explorer进程
    Java书籍推荐
    编程资料合集
  • 原文地址:https://www.cnblogs.com/wen-kang/p/10695270.html
Copyright © 2011-2022 走看看