zoukankan      html  css  js  c++  java
  • Flask框架第二篇.Flask中的配置

    1. 初始化配置

    from flask import Flask,render_template,send_file
    import os
    ​
    # 1. template_folder="templatess"   模板文件 存放路径(动态)
    # 2. static_folder       静态文件存放目录,默认值 static
    # 3. static_url_path     静态文件访问路径,默认值 / + static_folder
    #( 用的少)
    # 4. static_host        静态文件的远程存放路径
    # 5. host_matching = False,  如果不是特别需要的话,慎用,否则所有的route 都需要host=""的参数
    # 6. subdomain_matching = False,  # 理论上来说是用来限制SERVER_NAME子域名的,但是目前还没有感觉出来区别在哪里
    app = Flask(__name__,template_folder="templatess",static_folder="img",static_url_path="/static")
    ​
    @app.route("/index")
    def index():
        return render_template("/index.html")
    ​
    if __name__ == '__main__':
        app.run()
    View Code
    import os
    from flask import Flask, render_template, send_file
    ​
    app = Flask(__name__,template_folder="templatess",static_folder="img",static_url_path="/static")
    ​
    @app.route("/")
    def index():
        return render_template('index.html')
    ​
    if __name__ == '__main__':
        app.run()
    View Code
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <h3>hello world!</h3>
        <img src="/static/1.jpg">
    </body>
    </html>
    index.html

    2. 实例化配置

    from flask import Flask,session,jsonify
    ​
    ​
    app = Flask(__name__,template_folder="templatess")
    #app.debug = True
    app.config["DEBUG"] = True
    app.secret_key = "*^%$#^&^$##@#&&*HFRRECHJ"
    app.session_cookie_name = "I am not session"
    app.permanent_session_lifetime = 20    #单位:秒
    app.config["JSONIFY_MIMETYPE"] = "Sakura"
    ​
    ​
    @app.route("/set_session")
    def set_session():
        session["key"] = 123
        return "200 ok"
    ​
    @app.route("/get_session")
    def get_session():
        print(session.get("key"))
        return jsonify({"k1":"v1"})
    ​
    ​
    if __name__ == '__main__':
        app.run()
    ​
    ​
    ​
    """
    源码 app.config 进入
    default_config = ImmutableDict(
        {
            "ENV": None,       当前flask运行环境
            "DEBUG": None,       编辑模式
            "TESTING": False,
            "PROPAGATE_EXCEPTIONS": None,
            "PRESERVE_CONTEXT_ON_EXCEPTION": None,
            "SECRET_KEY": None,
            "PERMANENT_SESSION_LIFETIME": timedelta(days=31),     单位:秒
            "USE_X_SENDFILE": False,
            "SERVER_NAME": None,
            "APPLICATION_ROOT": "/",
            "SESSION_COOKIE_NAME": "session",
            "SESSION_COOKIE_DOMAIN": None,
            "SESSION_COOKIE_PATH": None,
            "SESSION_COOKIE_HTTPONLY": True,
            "SESSION_COOKIE_SECURE": False,
            "SESSION_COOKIE_SAMESITE": None,
            "SESSION_REFRESH_EACH_REQUEST": True,
            "MAX_CONTENT_LENGTH": None,
            "SEND_FILE_MAX_AGE_DEFAULT": timedelta(hours=12),
            "TRAP_BAD_REQUEST_ERRORS": None,
            "TRAP_HTTP_EXCEPTIONS": False,
            "EXPLAIN_TEMPLATE_LOADING": False,
            "PREFERRED_URL_SCHEME": "http",
            "JSON_AS_ASCII": True,
            "JSON_SORT_KEYS": True,
            "JSONIFY_PRETTYPRINT_REGULAR": False,
            "JSONIFY_MIMETYPE": "application/json",
            "TEMPLATES_AUTO_RELOAD": None,
            "MAX_COOKIE_SIZE": 4093,
        }
    )
    ​
    """
    View Code
    • setting.py

      import hashlib
      import time
      ​
      class DebugConfig(object):
          """debug环境"""
          DEBUG = True
          SECRET_KEY =  "*%$E#KIGF9iafafawfhzsjhzsjzuuufhfwfhwahfff"
          PERMANENT_SESSION_LIFETIME = 3600 #
          SESSION_COOKIE_NAME = "I am not session"
      ​
      ​
      class TestConfig(object):
          TESTING = True
          SECRET_KEY =  hashlib.md5(f"{time.time()}*%$E#KIGF9iafafawfhzsjhzsjzuuufhfwfhwahfff{time.time()}".encode("utf-8")).hexdigest()
          PERMANENT_SESSION_LIFETIME = 360000 #
          SESSION_COOKIE_NAME = "*&^%$#@$%^&*((()*&^%$$#"
      View Code
    • test.py

      from flask import Flask,session,jsonify
      from setting import DebugConfig,TestConfig
      ​
      ​
      app = Flask(__name__,template_folder="templatess")
      ​
      #快速配置
      # app.config.from_object(DebugConfig)
      app.config.from_object(TestConfig)
      ​
      ​
      @app.route("/set_session")
      def set_session():
          session["key"] = 123
          return "200 ok"
      ​
      @app.route("/get_session")
      def get_session():
          print(session.get("key"))
          return jsonify({"k1":"v1"})
      ​
      ​
      if __name__ == '__main__':
          app.run()
      View Code

  • 相关阅读:
    java使用jacob实现word转pdf
    解决 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
    tp框架基本sql语句查询与链式查询
    id和class的区别
    查找算法
    排序算法
    [转]微信小程序开发:从小白开发出通过自拍预测年龄和颜值的小程序
    [转]天天生鲜,html效果布局
    利用乐观锁及redis解决电商秒杀高并发基本逻辑
    Python3.6.0安装
  • 原文地址:https://www.cnblogs.com/lilinyuan5474/p/15568746.html
Copyright © 2011-2022 走看看