flask基础

1.flask基础

# 引入Flask库
from flask import Flask


# 实例化,创建对象
app = Flask(__name__)

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    return 'Hello World, this is my first flask web app!'


if __name__ == '__main__':
    app.run()

2.flask初始化参数

# 引入Flask库
from flask import Flask

# 实例化,创建对象
# app = Flask(__name__)
app=Flask(import_name=__name__,static_url_path="/s",static_folder="static_file",template_folder="template_file")

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':

    app.run()

3.应用程序配置参数

使用配置对象配置默认参数

使用环境变量配置敏感信息

# 引入Flask库
from flask import Flask

class DefaultConfig(object):
    SECRETE_KEY="123"


app=Flask(__name__)

#设置默认配置
app.config.from_object(DefaultConfig)

#设置环境变量 export PROJECT_SETTING="setting.py"
app.config.from_envvar("PROJECT_SETTING",silent=True)


# 设置路由
@app.route('/')
# 定义视图函数
def index():
    print(app.config["SECRETE_KEY"])
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':
    app.run()
# 引入Flask库
from flask import Flask

def create_flask_app(config):
    # 实例化,创建对象
    app = Flask(__name__)
    #配置对象中加载
    app.config.from_object(config)
    #环境变量中加载
    app.config.from_envvar("PROJECT_SETTING",silent=True) #设置环境变量 export PROJECT_SETTING="setting.py"
    return app

class DefaultConfig(object):
    SECRETE_KEY="123"

class DevelomentConfig(DefaultConfig):
    DEBUG=True


app=create_flask_app(DevelomentConfig)
# 引入Flask库
from flask import Flask

def create_flask_app(config):
    # 实例化,创建对象
    app = Flask(__name__)
    #配置对象中加载
    app.config.from_object(config)
    #环境变量中加载
    app.config.from_envvar("PROJECT_SETTING",silent=True) #设置环境变量 export PROJECT_SETTING="setting.py"
    return app

class DefaultConfig(object):
    SECRETE_KEY="123"

app=create_flask_app(DefaultConfig)

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    print(app.config["SECRETE_KEY"])
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':
    app.run()

 

3.1 从配置对象中加载

优点:继承

缺点:敏感数据暴露在代码中

场景:默认配置

# 引入Flask库
from flask import Flask
class DefaultConfig(object):
    SECRETE_KEY="abcd" #必须大写

# 实例化,创建对象
app = Flask(__name__)

#设置
app.config.from_object(DefaultConfig)

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    print(app.config["SECRETE_KEY"])
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':
    app.run()

3.2 从配置文件中加载

优点:独立文件,保护敏感数据

缺点:不能集成,目录在代码中写死

场景:保护敏感数据

# 引入Flask库
from flask import Flask

# 实例化,创建对象
app = Flask(__name__)
#设置
app.config.from_pyfile("setting.py")

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    print(app.config["SECRETE_KEY"])
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':
    app.run()

3.3 从环境变量中加载

优点:保护敏感数据,文件路径灵活

缺点:不方便,记得设置环境变量

# 引入Flask库
from flask import Flask

# 实例化,创建对象
app = Flask(__name__)
#设置环境变量 export PROJECT_SETTING="setting.py"
app.config.from_envvar("PROJECT_SETTING",silent=True)

# 设置路由
@app.route('/')
# 定义视图函数
def index():
    print(app.config["SECRETE_KEY"])
    return 'Hello World, this is my first flask web app!'

if __name__ == '__main__':
    app.run()

 

posted on 2021-06-24 13:59  happygril3  阅读(42)  评论(0)    收藏  举报

导航