今天开始Flask的实战,创建一个项目,实现包括用户登录、注册、注销、发表博客、评论以及检索等功能
首先给出项目结构:
1.config.py文件:
存放各种配置信息
import os # dialect+driver://username:password@host:port/database DIALECT = 'mysql' DRIVER = 'pymysql' USERNAME = '用户名' PASSWORD = '密码' HOST = '域名' PORT = '端口号' DATABASE = '数据库名' SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False DEBUG = True SECRET_KEY = os.urandom(24)#用于生成session密钥
2.decorators.py文件存放限制登录的装饰器,之后会提到
3.exts.py文件存放数据库实例化对象
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
4.hyqbook.py主app文件
5.manage.py文件,存放命令行窗口操作的一系列代码,包括数据库初始化,数据库迁移,数据库更新等
from flask_script import Manager from flask_migrate import Migrate,MigrateCommand from hyqbook import app from exts import db from models import User,Question,Answer manager = Manager(app) # 使用Migrate绑定app和db migrate = Migrate(app,db) # 添加迁移脚本的命令到manager中 manager.add_command('db',MigrateCommand) if __name__ =="__main__": manager.run()