flask结构
来源:互联网 发布:caffe slice layer 编辑:程序博客网 时间:2024/06/14 06:37
项目结构
|- myflask
|- app/
|- templates/
|- static/
|- main/
|- __init__.py
|- errors.py
|- forms.py
|- views.py
|- __init__.py
|- email.py
|- models.py
|- migrations/
|- tests/
|- __init__.py
|- test*.py
|- requirements.txt
|- config.py
|- manager.py
程序配置:config.py
为了使开发、测试、和生产互不影响,所以设置不同的配置环境。
import osbasedir = os.path.abspath(os.path.dirname(__file__))class Config:# 设置一个基类,包含通用配置,后面的类继承该类 SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string' SQLALCHEMY_COMMIT_ON_TEARDOWN = True FLASK_MAIL_SUBJET_PREFIX = '[Flasky]' FLASKY_MAIL_SENDER = 'Flasky Admin <flasky@example.com>' FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN') @staticmethod#定义一个静态方法,参数是程序实例,可以执行对当前环境配置初始化 def init_app(app): passclass DevelopmentConfig(Config): DEBUG = True MAIL_SERVER = 'smtp.googlemail.com' MAIL_PORT = 587 MAIL_USE_TLS = True MAIL_USERNAME = os.environ.get('MAIL_USERNAME') MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or \ 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite')class TestingConfig(Config): TESTING = True SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or \ 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')class ProductionConfig(Config): SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ 'sqlite:///' + os.path.join(basedir, 'data.sqlite')config = { 'development': DevelopmentConfig, 'testing': TestingConfig, 'production': ProductionConfig, 'default': DevelopmentConfig}后面的3个子类都继承于Config类,每个都使用了不同的数据库。
最后设置一个字典config,注册不同的配置环境。
os.environ.get()表示从环境变量中获取数值。
windows设定环境变量:set SECRET_KEY=<####>
Linux或Mac设定环境变量: export SECRET_KEY=<####>
0 0
- flask结构
- Flask基本结构
- Flask--项目结构
- Flask代码结构总结
- flask-项目结构
- Flask学习笔记02--Flask基本结构
- Flask基本结构(一)
- Flask 多文件基本结构
- flask学习笔记(-结构)
- Flask:程序的基本结构
- Flask程序的基本结构
- flask 学习小计 -- 组织结构
- flask源码笔记:二,Flask源码目录结构
- 【Flask】在PyCharm上组织Flask大型项目文件结构
- [python3.6 flask web学习]Flask项目目录结构
- Flask(2)-程序的基本结构
- Flask(7)-大型程序的结构
- flask
- 安卓跨进程几种方式简介
- Unity5.x AssetBundle依赖项打包详解
- Springmvc前台通过ajax传值到后台用@RequestBody接收,报415/400错误
- 解读Batch Normalization
- listView.setEmptyView(view)
- flask结构
- linux多网卡绑定
- tensorflow tensorboard学习(转载1)
- 内线
- C#关键字lock
- ulimit设置
- Android——BroadCaseReceiver,跟踪轨迹获取稳定的GPS
- 作业5
- 第135-141课:Spark面试经典系列之数据倾斜