自己这次接触的项目类似于tao piaopiao
第一件事:搭建框架。
首先创建工程(pure python):Tpp------创建manage.py(往常操作)
其次参照django,创建需要的文件夹(static(css/js/img/icon),templates(common(base.html)/error(404.html)/email等))
继续在app 目录下。创建多个package:models,forms,views等。
在app同级目录创建基类:config.py,进行基础通用配置:
- 密钥SECRET_KEY
- 数据库(自动提交和忽略警告):SQLALCHEMY_COMMIT_ON_TEARDOWN & SQLALCHEMY_TRACK_MODIFICATIONS
- 邮件:服务器,账号,邮箱密码:MAIL_SERVER & MAIL_USERNAME & MAIL_PASSWORD
- 数据库配置
- 环境配置:开发环境(DevelopmentConfig,)、测试环境(TestConfig)、发布环境(ProductionConfig)。
- 配置字典(config={
- 'development': DevelopmentConfig,
- 'test': TestConfig,
- 'product': ProductionConfig,
- 'default': DevelopmentConfig})
在基本配置完成后,可以创建与config.py 同级的文件__init.py,并在其中进行封装创建flask实例。
def create_app(config_name):
# 创建应用实例
app = Flask(__name__)
#加载配置
app.config.from_object(config.get(config_name))
# 额外初始化
config.get(config_name).init_app(app)
#加载扩展
config_extensions(app)
#注册蓝本
config_blueprint(app)
#错误捕捉
errors_config(app)
# 返回应用实例
return app
若还需要定制其他,则继续创建对应的py文件,在app/init.py中进行注册(如定制errors.py,404错误等)
还可在views 下chua创建蓝本,同级下的init.py里完成蓝本注册。
# 封装函数,完成蓝本注册
def config_blueprint(app):
for blueprint, prefix in DEFAULT_BLUEPRINT:
app.register_blueprint(blueprint, url_prefix=prefix)
这些完成后,基本框架就算是搭好了。