网站关键字多少个,世界军事新闻视频,网站域名备案在阿里云怎么做,修改wordpress插件项目结构搭建
创建一个Flask项目
第一步
先创建一个python Package 起名叫做app第二步
把static文件夹和template文件夹放入app文件夹中第三步
创建settings.py配置文件ENV development
DEBUG True
SQLALCHEMY_DATABASE_URImysql…项目结构搭建
创建一个Flask项目
第一步
先创建一个python Package 起名叫做app第二步
把static文件夹和template文件夹放入app文件夹中第三步
创建settings.py配置文件ENV development
DEBUG True
SQLALCHEMY_DATABASE_URImysqlpymysql://root:12345639.106.150.87:3306/py1901
SQLALCHEMY_TRACK_MODIFICATIONS True
--------------------------------------------------------------------
# secret key
SECRET_KEY dhfjh244djsqopfv5790874878jchfjh
# SECRET_KEYos.urandom(24)
PERMANENT_SESSION_LIFETIME timedelta(hours1)
--------------------------------------------------------------------
# permanent_session_lifetime
BASE_DIR os.path.dirname(__file__)
# print(BASE_DIR)
UPLOAD_DIR os.path.join(BASE_DIR, app/static/upload)第四步
重命名启动文件app.py文件名为manage.py第五步
将启动文件manage.py中app Flask(__name__)去除仅作为启动文件app.route(/)def hello_world():return Hello World!第六步
在app文件夹中的__init__.py(存放各种配置文件。蓝图模型等配置文件都放在这个文件夹中)文件中去构建app
from flask import Flaskimport settingsdef create_app():app Flask(__name__)app.config.from_object(settings)return app 第七步
在manage.py文件中要拿到__init__中创建的app对象调用create_app()这个函数返回app对象然后使用flask_script中Manager(app)这个类将app作为实参传入创建一个manager对象来管理app对象from app import create_appfrom flask_script import Managerapp create_app()manager Manager(app)因为把app的权利交给了manager所以把app.run() 改为了manager.run()第八步
使用views包创建一个user_views.py文件将所有的路由都放在其中为了避免循环导入所以使用蓝图在user_views.py文件中from flask import Blueprintuser_bp Blueprint(user,__name__,url_prefix/user) #定义蓝图 #rl_prefix路径的前缀user_bp.route(/) #使用蓝图对象定义路由相当于app.route(/)
def index():return....第九步
在app包中的__init__文件中使用主函数app注册蓝图app.register_blueprint(user_bp)pip install pymysql 驱动相当于pycharm和数据库的链接桥梁
pip install flask sqlalchemy 完成数据的映射
pip install flask-script 脚本命令 操作命令第十步
为了完成数据库的映射就需要构建一个sqlalchemy对象就需要在外围创建一个exts拓展包所有通过pip安装的都放在这个exts包里在exts包中的__init__.py文件中创建操作数据库的操作from flask_sqlalchemy import SQLAlchemy#创建一个sqlalchemy类对象来完成python中对象和数据库中表的迁移映射
db SQLAlchemy()在app文件夹中的__init__.py文件中完成sqlalchemy的初始化from exts import dbdb.init_app(app)这样db就和app关联起来了就相当于给db通电了在配置文件settings.py中添加连接数据库的配置SQLALCHEMY_DATABASE_URImysqlpymysql://root:12345639.106.150.87:3306/py1901
SQLALCHEMY_TRACK_MODIFICATIONS True第十一步
在models包中创建user_model.py模型在文件中创建一个User类,这个类需要继承db.model构成一个模型类对应数据库中的一张表来完成映射from exts import dbclass User(db.model):__tablename__ userid db.Column(db.Integer, primary_keyTrue, autoincrementTrue)username db.Column(db.String(10), nullableFalse)password db.Column(db.String(12), nullableFalse)phone db.Column(db.String(11), nullableFalse, uniqueTrue)usertype db.Column(db.String(20))def __str__(self):return self.username第十二步
因为manager的内置命令只有两个runserver、shell为了执行与数据库完成映射所以需要给manager添加命令在在启动文件manage.py添加from exts import db
from app.models import user_model migrateMigrate(appapp,dbdb)
manager.add_command(db,MigrateCommand)使用命令python manage.py db initpython manage.py db migrate - --迁移python manage.py db upgrade来完成python模型与数据库之间的迁移映射