当前位置:网站首页>Flask框架创建项目初期总结
Flask框架创建项目初期总结
2022-07-27 05:02:00 【qishaoawei】
创建项目虚拟环境及安装相关依赖
创建项目在项目内打开设置
第一步
第二步
打开项目终端查看虚拟环境是否成功
如果没有成功则需要手动开启
虚拟环境配置好后要安装相关依赖
讲有含有依赖名称的文件放到项目内
然后打开项目终端进行安装
安装好之后可以输入 pip list查看一下是否全部安装
创建flask结构
利用工程模式创建app
在根目录创建create_app.py文件
在里面进行编写
from flask import Flask #导入Flask
from flask_cors import CORS #跨域
def create_app(config):
flask_app=Flask(__name__) #实例化flask对象
#加载配置项
flask_app.config.from_object(config)
#注册蓝图
#绑定db
# 跨域
CORS(flask_app)
return flask_app
项目内创建settings目录里创建config.py文件
在里边编写序偶需要的配置项
class DefaultConfig:
SECRET_KEY='asdasfjsfagfasfa' #cookie秘钥
SQLALCHEMY_DATABASE_URI='' #数据库配置项
SQLALCHEMY_TRACK_MODIFICATIONS=False # 追踪数据的修改信号
SQLALCHEMY_ECHO=True # 是否在控制台打印输出sql语句
JSON_AS_ASCII=False #json类型是否转换
#继承自上边的类,避免以后的修改
class DevConfig(DefaultConfig):
# 数据库类型+数据库操作引擎://用户名:密码@主机名:端口/数据库名
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mysql密码@127.0.0.1:3306/数据库名'
项目根目录创建app.py文件 在里边导入配置项 app实例create_app
from create_app import create_app #导入创建好的create_app
from settings.config import DevConfig #导入配置项
app=create_app(DevConfig)
#通过功能函数方式创建了对象
可以在里面编写main 运行框架
也可以在调试配置对话框里配置运行


配置好之后下次就可地点击旁边的开始就可以运行
在里面配置蓝图
在项目内创建views目录里创建users.py文件
在里面进行编写
from flask import Blueprint #导入蓝图
from flask_restful import Api,Resource
# # url_prefix # 指定当前蓝图下所有路由的前缀
user_dp=Blueprint('user_dp',__name__,url_prefix='/users') #实例化蓝图对象
api=Api(user_dp) #实例化蓝图收集器#实例化一个Api对象 Api对象的作用是用来搜集路由的
#定义类视图 继承自Resource类,通过Api的实例化对象进行搜集
class UserView(Resource):
def get(self): #测试是否成功
return 'ssss'
#添加路由
api.add_resource(UserView,'/user') #完整地址是 /users/user
然后在create_app.py里注册一下
from flask import Flask #导入Flask
from views.users import user_dp #导入实例化的蓝图对象
from flask_cors import CORS
def create_app(config):
flask_app=Flask(__name__) #实例化flask对象
#加载配置项
flask_app.config.from_object(config)
#注册蓝图
flask_app.register_blueprint(user_dp)
#绑定db
# 跨域
CORS(flask_app)
return flask_app
注册数据库配置
在目录创建models目录里创建model.py文件进行编写模型类
from flask_sqlalchemy import SQLAlchemy #导入
db=SQLAlchemy() #实例化数据库连接对象
#创建模型类
class UserModel(db.Model):
# primary_key主键 autoincrement自增 default默认
id=db.Column(db.Integer,primary_key=True,autoincrement=True,comment='ID')
name=db.Column(db.String(32),default='',comment='名字')
然后在create_app.py里注册一下
from flask import Flask #导入Flask
from views.users import user_dp #导入实例化的蓝图对象
from models.model import db #导入实例化的数据库连接对象
from flask_cors import CORS
def create_app(config):
flask_app=Flask(__name__) #实例化flask对象
#加载配置项
flask_app.config.from_object(config)
#注册蓝图
flask_app.register_blueprint(user_dp)
#绑定db
db.init_app(flask_app)
# 跨域
CORS(flask_app)
return flask_app
在根目录创建manage.py文件配置迁移项
from flask_script import Manager #Manager类作业是把命令行运行该文件的时候,添加一些命令
from app import app #导入app
from flask_migrate import MigrateCommand,Migrate # 导入迁移类和迁移命令类
from models.model import db #导入实例化后的数据库对象
manage=Manager(app) #实例化命令行管理对象
migrate=Migrate(app,db) #实例化迁移执行类
manage.add_command('db',MigrateCommand) #给命令行管理对象添加一组命令
# 注意编写好了要启动一下
if __name__ == '__main__':
manage.run()
在python终端运行命令进行迁移
# 初始化迁移文件 # 初始化,只需要初始化一次
python manage.py db init
# 生成迁移文件
python manage.py db migrate
# 执行迁移
python manage.py db upgrade
# 迁移完成
边栏推荐
- 注册功能实现
- How to view the evaluation of tutors
- JVM Part 1: memory and garbage collection part 7 -- runtime data area heap
- 2021 OWASP top 4: unsafe design
- During its low-level period, this slave edge causes the instruction number to make a corresponding model
- B1025 反转链表*******
- B1027 打印沙漏
- B1023 group minimum
- 订单系统功能实现
- 求组合数(最强优化)
猜你喜欢

用户的管理-限制

ERP system brand

如何将Excel表格中的多列内容合并到一列

SQL database → constraint → design → multi table query → transaction

数据库连接池&&Druid使用

JVM Part 1: memory and garbage collection part 12 -- stringtable

Shell course summary

The receiver sets the concurrency and current limit

李宏毅机器学习组队学习打卡活动day05---网络设计的技巧

File processing (IO)
随机推荐
JDBC API details
如何快速上手强化学习?
JVM Part 1: memory and garbage collection part 10 - runtime data area - direct memory
34. Analyze flexible.js
Gradio quickly builds ml/dl Web Services
Derivation and explanation of PBR physical illumination calculation formula
MQ set expiration time, priority, dead letter queue, delay queue
如何快速有效解决数据库连接失败问题
Machine learning overview
Li Hongyi machine learning team learning punch in activity day03 --- error and gradient decline
李宏毅机器学习组队学习打卡活动day02---回归
Domestic mainstream ERP software market
2021 OWASP top 5: security configuration error
B1022 a+b in d-ary
The provision of operation and maintenance manager is significantly affected, and, for example, it is like an eep command
笔记系列k8s编排MySQL容器-有状态的容器创建过程
torch中乘法整理,*&torch.mul()&torch.mv()&torch.mm()&torch.dot()&@&torch.mutmal()
File processing (IO)
B1022 D进制的A+B
Could not autowire. No beans of ‘userMapper‘ type found.