如何解决db.init_app 之前对象 SQLAlchemy 的 Flask 配置
我想弄清楚如何使用 .apply(pd.Series)
为我的 Flask 服务器配置一个带有文件的调度程序。问题是用于配置服务器的调度程序文件正在调用 flask_sqlalchemy
对象,然后我才能将 db = sqlAlchemy()
绑定到 Flask 应用程序。这导致错误:db.init_app(app)
下面是我的文件结构
RuntimeError: No application found. Either work inside a view function or push an application context.
这是my_project
- app
- __init__.py
- app.py
- build
- __init__.py
- model.py
- jobstore_scheduler.py
内部的问题:
app/__init__.py
此时发生错误是因为在 from build import db
from build.jobstore_scheduler import jobstore_scheduler
from flask import Flask
from flask_apscheduler import APScheduler
jobstore_scheduler = jobstore_scheduler()
scheduler = APScheduler()
def create_app():
app = Flask(__name__)
app.config['sqlALCHEMY_DATABASE_URI'] = <my_db_string>
app.config.from_object(jobstore_scheduler) <----- ****** this is the problem ******
db.server = server
db.init_app(server)
scheduler.init_app(server)
scheduler.start()
return server
内部,我正在调用一个函数,该函数调用 jobstore_scheduler.py
以使用 ORM 模型从数据库中检索数据。
model.py
build/jobstore_scheduler.py
from build.model import model
def get_data_from_db():
data = [value[0] for value in model.query.all()]
return data
class FlaskScheduler():
JOB = [
{
'func': my_func
'param': get_data_from_db()
},]
build/model.py
from build import db
Class model(db.Model):
...
...
build/__init__.py
我了解 from flask_sqlalchemy import sqlAlchemy
db = sqlAlchemy()
中的 db
对象在我的 build/__init__.py
函数内的 app.config.from_object(jobstore_scheduler)
处出错,因为它在 create_app
可以绑定之前被实例化。
我已经浏览了文档和尽可能多的 stackoverflow 帖子,但此时,我不明白如何避免这个问题并通过各种文件编织 db.init_app(app)
对象。
所以我的问题是:如何从数据库中检索数据以传递给调度程序,然后调度程序在 db
绑定到 Flask 应用程序之前配置烧瓶应用程序?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。