![](/img/trans.png)
[英]How to get Flask-SQLAlchemy to work with the Application Factory Pattern
[英]Do I need an application factory in my Flask-SQLAlchemy project?
我正在做一個做兩件事的項目:1)每小時從網頁上抓取數據並將其插入數據庫2)給定查詢以json格式提供數據
當所有內容(視圖,模型,db.session.add()等)都位於app.py文件中時,我可以使它工作。 但是,這並不理想,我想將其分開。
一旦有了一個可運行的項目,我想將其設置在服務器上以自動運行webscraping /數據庫填充功能(1),同時還響應http請求(2)。
為此,我是否需要遵循創建應用程序工廠並考慮應用程序上下文的路線,或者這是否沒有必要? 為了分離出app.py文件(並使用應用程序工廠),最小的項目布局將是什么樣/我需要什么文件。
將模型與app.py
看起來像這樣。
models.py:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Post(db.Model):
...
class User(db.Model):
...
app.py:
from models import db, Post, User
app = Flask(__name__)
db.init_app(app)
如果應用程序太大,則可以將視圖保留在app.py
。
可以與Flask應用分開進行抓取。 Flask應用程序僅顯示數據庫中的內容。 抓取是通過Python腳本完成的,該腳本會不時更新數據庫。 可以安排它通過cron
在服務器上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.