• Flask的基本使用、四剑客和配置文件


    Flask简介

    安装

    pip install flask

    使用

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

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

    复制代码
    from flask import Flask,render_template,redirect,jsonify
    app = Flask(__name__)
    
    @app.route("/index")
    def index():
        # 1、返回字符串
        # return "ok"
        # 2、返回一个html
        # 从flask里面导入render_template,在同级目录中添加templates文件夹,将html页面放这个文件夹内
        # return render_template("index.html")
        # 3、跳转路由,从flask里面导入redirect
        # return  redirect("/login")
        # 4、返回数据转json返回,要从flask中导入jsonify
        data = {"name":"bob","name2":"owen"}
        return jsonify(data)
    @app.route("/login")
    def login():
        return "我是login页面"
    
    if __name__ == '__main__':
        app.run()
    复制代码

    flask的配置文件

    复制代码
    # 四种方法给flask做配置
    
    # 1 直接给app对象赋值属性
    # 2 以字典的形式,给flask做配置
    # 3 以文件的形式,给flask做配置(django就是用这种)
    # 4 以类的形式,给flask做配置(如果用flask,推荐是使用这一种)
    
    
    from flask import Flask
    app = Flask(__name__)
    # 方式1 给app对象赋值属性的形式(不推荐),因为他只能配置两个配置项,一个是debug 一个是secret_key
    # app.debug = True # 配置自动重启
    
    # 方式2 字典的形式,这个里面就可以对所有的flask配置项做配置
    # app.config["DEBUG"] = True
    
    # 方式3 以文件的形式,在from_pyfile(里面传递配文件的路径)
    # app.config.from_pyfile("settings.py")
    
    # 方式4 以类的形式,那为什么推荐大家使用这个呢?因为他可以实现一个文件多个配置,而且减少测试与上线更改的配置项
    app.config.from_object("setobj.settings")
    
    @app.route("/index")
    def index():
        return "bob is dsb"
    
    if __name__ == '__main__':
        app.run()
    复制代码

    settings.py(对应方式3)

    DEBUG = True

    setobj.py(对应方式4)

    复制代码
    class Base:
        # 通用配置写在base类中
        # 正是站和测试都继承我这个base类
        # 正式站和测试有区别的配置,就写在各自的类中
        pass
    
    class settings:
        DEBUG = True
  • 相关阅读:
    XCode 7 运行 cocos2dx 2.2.6问题小节
    SerializeField和Serializable
    convert2utf8withbom
    NGUI制作字体的三种方法
    js json stringify
    nodejs npm 使用淘宝 NPM 镜像
    js url?callback=xxx xxx的介绍
    强引用 弱引用
    关于xml里的encoding
    js 历史
  • 原文地址:https://www.cnblogs.com/wddxx/p/13816607.html
Copyright © 2020-2023  润新知