flask使用数据库的一个疑问,在写views时import models,是不是每次访问都需要连接数据库/?
flask使用数据库的一个疑问,在写views时import models,是不是每次访问都需要连接数据库?
from app import app
from .models import *
@app.route('/')
def index():
return 'index'
@app.route('/user')
def user():
return 'user'
像这样的代码中,每次访问url '/'或者'/url'是不是都需要验证数据库是否正确连接了?
我这里用peewee做测试
peewee.OperationalError
peewee.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
如果是,那么对于不需要用到数据库的操作是不是有点浪费或者说多余的操作?
怎么优化?
我的models是这样写的
from app import app
from peewee import *
#from playhouse.db_url import connect
from playhouse.flask_utils import FlaskDB
from datetime import datetime
#db = connect('mysql://root:root@127.0.0.1:3306/mydb')
#db=MySQLDatabase('mysql://root:root@127.0.0.1:3306/mydb')
DATABASE='mysql://root:root@127.0.0.1:3306/mydb'
app.config.from_object(__name__)
database = FlaskDB(app)
##class BaseModel(Model):
## """A base model that will use our MySQL database"""
## class Meta:
## database = db
class User(database.Model):
username = CharField(25)
age=IntegerField(3)
# etc, etc
#class results(BaseModel):
#uid=IntegerField()
# subjects=CharField(25)
#score=IntegerField(3)
#created_date = DateTimeField(default=datetime.now())
#class Car(BaseModel):
#user = ForeignKeyField(User, related_name='Car')
#ctype= CharField(25)
# cname=CharField(25)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
app 初始化时, 会连接数据库, 成功之后, 会有一个类似缓存的东西, 如果这个连接没有断开, 那么是一直可以用下去的.
访问没有涉及到数据库操作的路由, 是不会去连接数据库的.
你给出的那个出错信息感觉与你的问题不太相关.
尽量不要用
from .models import *
这样的句子,from .models import YourModel
只import你需要的model就好了。还有人回答问题吗?