• flask的启动,flask小白必会4板斧,以及flask做配置


    如何启动一个flask项目

    '''
    pip install flask
    
    '''
    # 1 导入flask,我们要用flask,就必须导入Flask
    from  flask import Flask
    # 2 生成一个Flask对象,__name__表示当前文件的名字
    app = Flask(__name__)
    
    
    
    # 3 添加路由,flask用的是装饰器的模式
    #注册路由,并写响应函数index
    @app.route("/")
    def index():
        return "Hello flask"
    
    if __name__ == '__main__':
        #4 启动flask
        #run里面是执行了run_simple(host,port,self=app,也就是flask对象)
        app.run()
    

    flask四剑客 (返回字符串,返回html,跳转路由,返回json)

    # 1 如何响应一个字符串
    # 2 如何响应一个html页面
    # 3 如何跳转页面
    # 4 如何返回一个json字符串
    
    from  flask import Flask,render_template,redirect,jsonify
    app = Flask(__name__)
    @app.route("/index")
    def index():
        #1 返回字符串
        #return "你号,我是字符串"
        # 1  返回一个html,
                # 1 从flask里面导入render_template,2 在同级目录中添加templates文件夹,将html页面这个文件夹底下
        #return render_template("index.html")
        # 3 跳转路由,1 从flask里面导入redirect
        #return  redirect("/login")
        # 4 返回数据转json返回,要从flask中导入jsonify
        data = {'name':"jason","name1":"owen"}
        return  jsonify(data)
    
    @app.route("/login")
    def login():
        return "我是login页面"
    
    
    if __name__ == '__main__':
        app.run()
    

    flask的配置文件

        
     {
            'DEBUG':                                get_debug_flag(default=False),  是否开启Debug模式
            'TESTING':                              False,                          是否开启测试模式
            'PROPAGATE_EXCEPTIONS':                 None,                          
            'PRESERVE_CONTEXT_ON_EXCEPTION':        None,
            'SECRET_KEY':                           None,
            'PERMANENT_SESSION_LIFETIME':           timedelta(days=31),
            'USE_X_SENDFILE':                       False,
            'LOGGER_NAME':                          None,
            'LOGGER_HANDLER_POLICY':               'always',
            'SERVER_NAME':                          None,
            'APPLICATION_ROOT':                     None,
            'SESSION_COOKIE_NAME':                  'session',
            'SESSION_COOKIE_DOMAIN':                None,
            'SESSION_COOKIE_PATH':                  None,
            'SESSION_COOKIE_HTTPONLY':              True,
            'SESSION_COOKIE_SECURE':                False,
            'SESSION_REFRESH_EACH_REQUEST':         True,
            'MAX_CONTENT_LENGTH':                   None,
            'SEND_FILE_MAX_AGE_DEFAULT':            timedelta(hours=12),
            'TRAP_BAD_REQUEST_ERRORS':              False,
            'TRAP_HTTP_EXCEPTIONS':                 False,
            'EXPLAIN_TEMPLATE_LOADING':             False,
            'PREFERRED_URL_SCHEME':                 'http',
            'JSON_AS_ASCII':                        True,
            'JSON_SORT_KEYS':                       True,
            'JSONIFY_PRETTYPRINT_REGULAR':          True,
            'JSONIFY_MIMETYPE':                     'application/json',
            'TEMPLATES_AUTO_RELOAD':                None,
        }
    
    # 4中方法给flask做配置
    
    # 1直接给app对象赋值属性
    # 2 以字典的形式,给flask做配置
    # 3 以文件的形式,给flask做配置(django就是用这种)
    # 4 以类的形式,给flask做配置(如果用flask,推荐是使用第4中)
    
    from flask import Flask
    
    app = Flask(__name__)
    # 1方式1(不推荐),因为他只能配置两个配置项,一个是debug 一个是secret_key
    # app.debug = True
    
    # 2 方式2 字典的形式,这个里面就可以对所有的flask配置项做配置
    #app.config["DEBUG"] = True
    
    #3 方式3 以文件的形式,在form_pyfile(里面传递配文件的路径)
    #app.config.from_pyfile("settings.py")
    
    #4 方式4 以类的形式,那为什么推荐大家使用这个呢?因为他可以实现一个文件多个配置,而且减少测试与上线更改的配置项
    app.config.from_object("setobj.settings")
    
    
    
    @app.route("/")
    def index():
        return "jason is dsb"
    
    if __name__ == '__main__':
        app.run()
    
  • 相关阅读:
    20191317王鹏宇第四章学习笔记
    20191317王鹏宇2.3.1测试
    树莓派openeuler安装openssl及其实践
    树莓派实验指导第三章实验
    树莓派openeuler的安装以及ukui桌面的安装并安装远程桌面vnc
    20191317王鹏宇鲲鹏服务器测试
    反汇编测试
    信息安全系统设计与实现第八周:《Unix/Linux系统编程》第五章学习笔记
    团队作业三
    信息安全系统设计与实现第七周:《Unix/Linux系统编程》第四章学习笔记
  • 原文地址:https://www.cnblogs.com/yafeng666/p/12521209.html
Copyright © 2020-2023  润新知