1.config.py——配置文件
DEBUG = True DIALECT = 'mysql' DRIVER = 'mysqldb' USERNAME = 'root' PASSWORD = '' HOST = '127.0.0.1' PORT = '3306' DATABASE = 'db_demo1' SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME, PASSWORD,HOST,PORT,DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS=True
在這個文件里面是對配置一系列進行操作,比如數據庫、debug之類的
2.models.py
#encoding: utf-8 from exts import db class Xixi(db.Model): __tablename__ = 'xixi' id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(100), nullable=False) content = db.Column(db.String(100), nullable=False) tags = db.Column(db.String(100), nullable=False) ll = db.Column(db.String(100), nullable=False)
在這個py文件中,我們通過這個py文件中的類創建數據庫
3.exts.py
#encoding: utf-8 from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
是因為文件和文件之間會產生循環引用,通過這個文件可以消除循環引用
4.manage.py
#encoding: utf-8 from flask_script import Manager from demo_model import app from flask_migrate import Migrate, MigrateCommand from exts import db from models import Xixi manager = Manager(app) #綁定app和db migrate = Migrate(app, db) #添加遷移腳本的命令到manager中 manager.add_command('db', MigrateCommand) if __name__ == '__main__': manager.run()
5.XXX.py
#encoding:utf-8 from flask import Flask from exts import db from models import Xixi import config import pymysql pymysql.install_as_MySQLdb() app = Flask(__name__) app.config.from_object(config) db.init_app(app) #app文件是個堆棧,我們手動加進里面,不然無法運行 # with app.app_context(): #聯系上下文,創建數據庫 # db.create_all() @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()