微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

文件名可能不太规范。

 

1. 文件结构

 

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
View Code

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
View Code

4. handlers.py  逻辑处理

from app.model.user import Users

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐