Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能
此文就已我一个初学者的视角来学习搭建flask框架
工具:pycharm
pip
文件夹
:
static
:存放项目静态资源文件的地方如css
js
images
templates
:模板文件夹,存放你的html文件
venv
:项目的python虚拟环境
文件
:
app.py
:项目的入口.通常用来写视图函数,和配置项目相关参数
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()
manage.py
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项目地址,请多多指教
https://github.com/Crack-DanShiFu/CrawlerCenter