最近开始学习flask, 做一下记录目前这个并不完善,后期会慢慢把这个项目该有的都搭建起来, 目前只是记录flask项目使用,有些详细的我可能也讲不出来,慢慢会去维护补充。如果时间充足,会用我的思路去做一个项目练习。
文件名可能不太规范。
1. 文件结构
- 静态文件的默认文件夹:
static
- 静态文件的默认访问前缀:
/static
- 模板文件的默认文件夹:
templates
testWeb # 项目文件 ---- app # 主目录
---- model # 模型问价夹
---- user.py # 用户模型
---- dash.py # app 创建函数文件
---- handlers.py # 逻辑函数文件, 相当于djano 的 view
---- index.py # 没用,忘记删了
---- myRoutes.py # 路由文件
---- test.py # 没用忘记删了
---- config # 配置文件
---- __init__.py # 主配置写在这里
---- migrations # 使用manage 管理项目的时候自己创建的,主要记录数据迁移版本
---- static # 静态文件
---- templates # html
---- manage.py # 项目管理文件, 使其像diango的 python manage.py 一样使用
2. config.py 文件内容
DIALECT = ‘mysql‘ # 使用mysql DRIVER = ‘pymysql‘ # 使用 pymysql 连接数据库 USERNAME = ‘root‘ # 用户名 PASSWORD = ‘295213‘ # 密码 HOST = ‘localhost‘ # ip PORT = ‘3306‘ # 端口 DATABASE = ‘hr‘ # 数据库名 # 数据库连接配置 SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format( DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE ) SQLALCHEMY_TRACK_MODIFICATIONS = False
注意: 数据库 hr 必须线创建。
2. dash.py 文件内容及注释
from flask import Flask from flask_cors import CORS from flask_sqlalchemy import SQLAlchemy import config # 因为config配置是直接写在__init__ 中的所以直接导入即可 # 创建db db = SQLAlchemy() # 取消跨域请求问题 def create_app(): # 创建app app = Flask(__name__) # 导入配置文件 app.config.from_object(config) # 解决跨域请求问题 CORS(app, resources=r‘/*‘) # 数据库绑定app db.init_app(app) # 导入路由 from . import myRoutes # 注册路由 myRoutes.register(app) return app
3. user.py 数据库表
from app.dash import db class Users(db.Model): __tablename__ = "users" # 创建时候的表名 username = db.Column(db.VARCHAR(200), primary_key=True, comment="用户名") def __init__(self, username): self.username = username
4. handlers.py 逻辑处理
from app.model.user import Users def index(): users = Users.query.filter() print(users) return users.first().username
flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)