当前位置:   article > 正文

Flask循环引用的问题_flask app.context 循环引用

flask app.context 循环引用

文件结构:

——app.py

——m_users.py

——external.py

app.py

******

from flask import Flask

from common import external

from m_users import U12

from external import db

import external #导入配置文件

app = Flask(__name__) #Flask初始化

app.config.from_object(external) #初始化配置文件

#初始化数据库连接

db.init_app(app) 新增点

db = SQLAlchemy(app) 弃掉 出错点2

db.create_all() 循环引用 出错点1

改为

#手动创建应用上下文

with app.app_context():

db.create_all() #建立关系映射

@app.route('/')

#定义路由

def hello_world():

return 'Hello World!'

*******

m_users.py

########

from external import db

class U12(db.Model):

__table_args__ = {'extend_existing': True}

__table__ =db.Table('usser1234',db.metadata,db.Column('id',db.String(11), primary_key=True),

db.Column('country', db.String(20), default=None, nullable=False, comment="国家"),

db.Column('name', db.String(20), default=None, nullable=False, comment="用户姓名"),

db.Column('phone', db.String(20), default=None, nullable=False, comment="电话"))

def select(self,u_id):

result = db.session.query(self).filter(self.id == u_id).first()

return 'name:{0}'.format(result.name)

###########

external.py

………………

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

# 设置mysql数据库

DIALECT = 'mysql'

# 使用pymysql驱动

DRIVER = 'pymysql'

# 账号

USERNAME = 'root'

# 密码

PASSWORD = 'root'

# 数据库服务器所在的IP地址

HOST = '127.0.0.1'

# 端口

PORT = '3308'

# 指定连接的数据库名

DATABASE = 'woni'

# 进行数据库连接的实例化

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset = utf8".format(DIALECT, DRIVER,USERNAME,PASSWORD, HOST,PORT,DATABASE)

SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:root@localhost:3308/woni?charset=UTF8"

# 关闭动态跟踪

SQLALCHEMY_TRACK_MODIFICATIONS = False

# 查询时会显示原始SQL语句

SQLALCHEMY_ECHO = True

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/185795
推荐阅读
相关标签
  

闽ICP备14008679号