關於python-flask中規范創建項目的幾個關鍵py項目文件


  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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM