flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)

最近开始学习flask, 做一下记录目前这个并不完善,后期会慢慢把这个项目该有的都搭建起来, 目前只是记录flask项目使用,有些详细的我可能也讲不出来,慢慢会去维护补充。如果时间充足,会用我的思路去做一个项目练习。

文件名可能不太规范。

 

1. 文件结构

 flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)

  • 静态文件的默认文件夹: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 文件内容及注释

flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)
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
View Code

3.  user.py  数据库表

flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)
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
View Code

4. handlers.py  逻辑处理

flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)
from app.model.user import Users

def index():
    users =  Users.query.filter()
    print(users)
    return users.first().username
View Code

 

flask+flask_sqlalchemy+flask_script+flask_migrate 创建一个flask项目(一)

上一篇:MySQL调优2


下一篇:SqlSession与SqlSessionFactory到底是什么关系?