Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能
此文就已我一个初学者的视角来学习搭建flask框架
工具:pycharm
pip
创建项目
- 打开pycharm创建flask项目
-
点击Create进行下一步
-
来看下文件的目录结构
文件夹
:
static
:存放项目静态资源文件的地方如css
js
images
templates
:模板文件夹,存放你的html文件
venv
:项目的python虚拟环境
文件
:
app.py
:项目的入口.通常用来写视图函数,和配置项目相关参数
- 不过作为一个web项目有这些简单的配置是远远不够的,我们还需要对项目进行一些通用配置
pip install flask-SQLAlchemy
pip install flask-pymysqldb
pip install flask-Script
pip install flask-migrate
- 新建一个
config.py
文件在项目根目录下 (用于配置项目相关信息) - 新建一个
exts.py
文件在项目根目录下 (设置全局数据库工具,避免多次实例化SQLAlchemy) - 新建一个
manage.py
文件在项目根目录下 (绑定app与SQLAlchemy实例,同时为添加项目脚本工具)
-
代码如下
config.py
: (配置项目)DIALECT = 'mysql' DRIVER = 'pymysql' USERNAME = 'root' PASSWORD = 'root' HOST = '127.0.0.1' PORT = '3306' DATABASE = 'flasktest' SQLALCHEMY_DATABASE_URI = '{}+{}://{}:{}@{}:{}/{}'.format( DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE ) # 便于调试 TEMPLATES_AUTO_RELOAD = True SEND_FILE_MAX_AGE_DEFAULT = 0 SQLALCHEMY_TRACK_MODIFICATIONS = True
exts.py
:from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
from flask_script import Manager from flask_migrate import Migrate, MigrateCommand from exts import db from app import app manage = Manager(app) migrate = Migrate(app, db) manage.add_command('db', MigrateCommand) if __name__ == '__main__': manage.run()
-
完成上述操作之后,因为我们需要创建一个实体文件夹,用于存放与数据表对应的实体类:
-
新建实体类;设置相关属性字段
from exts import db # ORM class KFCInfo(db.Model): __tablename__ = 'kfcinfo' id = db.Column(db.Integer, primary_key=True, autoincrement=True) storename = db.Column(db.String(50)) provincename = db.Column(db.String(20)) cityname = db.Column(db.String(20)) addressdetail = db.Column(db.String(400)) lnalats = db.Column(db.String(50))
-
完成这一步之后我们就可以进行migrate数据库迁移操作了
python manage.py db init //初始化 python manage.py db migrate //生成迁移文件夹migrations python manage.py db upgrage //映射到数据库表中
-
至此,项目已经完成一大部分了
接下来有时间我会补充blueprint
(蓝图)的相关配置说明)
这是我的一个python项目地址,请多多指教