Forum-01-主文件及配置文件的编写

Before

由于在项目的开始,我只会给出我的初步布局

Forum  项目文件夹
	forum  Python软件包
		__init__.py
		forum.py  主函数文件
		config.py  配置文件

为了方便理解和写作,我并没有按照flask官网给出的建议,将主文件写在包的__init__.py中,而是新建一个forum.py进行主函数的创建.

随着项目的进行,我的结构也会逐步完善和扩大

主文件-forum.py

# Forum/forum/forum.py

from flask import Flask
from flask_cors import CORS
from forum.config import db

def create_app():
    app = Flask(__name__)
    app.config.from_object(__name__)
    CORS(app, resources={r'/*': {'origins': '*'}}, supports_credentials=True,
         template_folder='Flask/Forum/Templates')  # 跨域请求资源配置(Vue3...)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/forum'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 配置是否追踪对象的修改(建议生产环境中设置为False以提高性能)
    db.init_app(app)

    @app.route('/')
    def default():
        return '首页'

    return app


if __name__ == '__main__':
    app = create_app()
    app.run(debug=True)

这些代码在我的另一篇文章讲解过了,详情请看Flask_02-主函数文件的编写及蓝图注册

解释

这个主函数的主要功能就是创建一个应用工厂,在函数内,对flask应用进行配置,以及后面所有蓝图的创建,随着项目的进行,这个create_app主函数也会日益壮大.

@app.route

这个装饰器就是为其下的函数提高一个url,最基本的用法就是@app.route('/hello')
当访问http://127.0.0.1/hello时,
会返回函数返回的内容

被@app.route()装饰的函数

被@app.route装饰的函数,其返回值不能为空,可以为其他任何东西(字符串,字典,html文件…)

config.py

# Forum/forum/config.py

# SQLAlchemy定义
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

解释

为了方便调用和更清晰的编写主函数外的功能或者公共数据,我创建了config.py,也许在部署时会遇到同名问题,届时我会对这个文件进行重构,虽然该文件可能并不符合flask官网的标准,但是对项目的运行无伤大雅.同样的,随着项目的进行,这个配置文件也会随着项目的进行逐渐扩大代码规模.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值