簡體   English   中英

我的Flask-SQLAlchemy項目中是否需要一個應用程序工廠?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM