【问题标题】:Flask-SQLAlchemy - SQL operationsFlask-SQLAlchemy - SQL 操作
【发布时间】:2013-03-02 19:53:38
【问题描述】:

我将 Flask 与 Flask-SQLAlchemy 一起使用,对于 SQL 操作,我可以成功地将一条记录从

插入到 mysql 数据库中

Views.py

from models import *
user= adduser('test')
db.session.add(user)
db.session.commit()

models.py

from flask_sqlalchemy import SQLAlchemy
from app import app
db = SQLAlchemy(app)

class adduser(db.Model):
__tablename__ = 'adduser'
id = db.Column('user_id', db.Integer, primary_key=True)
UserName = db.Column(db.String(16))

def __init__(self, UserName):
    self.UserName = UserName

如何在单独的 Python 文件中执行相同的操作(假设我想在非 views.py 的文件中处理插入操作,比如 insertuser.py)

【问题讨论】:

  • 只需像在views.py中那样做吗? =) 还是我错过了什么?
  • 嗨,Moodh,当我尝试将模型导入新文件时,启动服务器时出现错误。错误 - 无法导入应用
  • @user2104391 你的文件/目录结构是什么?当应用程序文件带有子目录时,我想在导入中访问app时曾经遇到过这样的问题。

标签: python sqlalchemy flask flask-sqlalchemy flask-extensions


【解决方案1】:

使用___init__.py 将您的项目创建为一个包。然后你只需要初始化“app”、“db”、变量一次就可以重复使用了。比如:

myproject/
    __init__.py
    models.py
    views.py
    insertuser.py

现在,在您的 __init__.py 文件中,放入初始化代码:

app = Flask(__name__)
db = SQLAlchemy(app)

然后将这些导入到 insertuser.py 文件中:

from myproject import app, db
..insert code goes here...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 2019-06-01
    • 2017-05-08
    • 2022-01-14
    • 2016-12-04
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多