Flask笔记 01
Posted 码上有云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask笔记 01相关的知识,希望对你有一定的参考价值。
一、Flask 框架初始化参数
from flask import Flask
app = Flask(__name__,
static_folder='sta',
static_url_path='/s',
template_folder='tem')
# __name__:带边当前文件的目录为Flask 项目的目录。
# static_folfer:初始化静态文件的文件名,默认为:static。
# static_url_path:初始化静态文件的路由地址,默认为:/static。
# template_folder:初始化模板文件的文件名,默认为:template。
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
二、Flask 应用程序初始化参数
1、配置对象方式加载配置信息
class DefConfig(object):
"""
默认配置
"""
SECRET_KEY = 'xxxxxxx'
app.config.from_object(DefConfig)
# app.config.from_envvar()
# app.config.from_json()
# app.config.from_mapping()
# app.config.from_pyfile()
def hello_world():
print(app.config['SECRET_KEY'])
return 'Hello World!'
2、配置文件方式加载配置信息
# app.config.from_object(DefConfig)
app.config.from_pyfile('setting.py')
# app.config.from_envvar()
# app.config.from_json()
# app.config.from_mapping()
def hello_world():
print(app.config['SECRET_KEY'])
return 'Hello World!'
3、配置环境变量方式加载配置信息
# app.config.from_object(DefConfig)
# app.config.from_pyfile('setting.py')
app.config.from_envvar('FLASK_ENV', silent=True)
# silent 表示系统环境变量中没有设置的相应的值时是否抛出异常。
# Flase: 表示不安静的处理,没有值时会报错,默认为Flase
# True: 表示安静的处理,即使没有值也让flask正常的运行下去。
# app.config.from_json()
# app.config.from_mapping()
操作前提:需要在系统中设置环境变量
Linux 中设置环境变量
# export 环境变量名=环境变量值
export FLASK_ENV= setting.py
三种配置方式的优缺点
使用第一种方式(对象方式):
优点:可以复用,使用类的继承。
缺点:敏感数据暴露在代码文件中。
使用第二种方式(配置文件方式):
优点:独立文件,保护敏感资源。
缺点:不能继承,文件路径固定,不灵活。
使用第三种方式(系统变量方式):
优点:独立文件,保护敏感资源。文件路径不固定,灵活。
缺点:需要设置环境变量。
如何使用?
一般使用对象方式,对默认配置进行配置,再使用系统变量方式对敏感配置进行覆盖加载。
from flask import Flask
class DefConfig(object):
"""
默认配置
"""
SECRET_KEY = 'xxxxxxx'
class DevelopmentConfig(DefConfig):
DEBUG = True
def creat_app(config):
app = Flask(__name__,
static_folder='sta',
static_url_path='/s',
template_folder='tem')
# __name__:带边当前文件的目录为Flask 项目的目录。
# static_folfer:初始化静态文件的文件名,默认为:static。
# static_url_path:初始化静态文件的路由地址,默认为:/static。
# template_folder:初始化模板文件的文件名,默认为:template。
app.config.from_object(DefConfig)
app.config.from_envvar('FLASK_ENV', silent=True)
return app
app = creat_app(DefConfig)
def hello_world():
print(app.config['HOST'])
return 'Hello World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
注:在pycharm中运行flask 项目,debug需要在配置中开启
以上是关于Flask笔记 01的主要内容,如果未能解决你的问题,请参考以下文章