簡體   English   中英

Gunicorn導入錯誤:在燒瓶中找不到url_for,但是本機燒瓶運行正常

[英]Gunicorn import error: url_for not found in flask, but native flask run works fine

我可以使用flask的內置網絡服務器命令run()來運行我的flask應用程序,但是嘗試使用gunicorn運行我的應用程序時,我收到以下導入錯誤。 我使用主文件夾中的命令gunicorn project.app:app。

從views.py拋出的錯誤是:

from app import db, url_for ImportError: cannot import name url_for

我的應用程序組織如下:

mainfolder/
    Procfile
    bin
    project/
        app.py
        _config.py
        views.py
        run.py

run.py

from views import app
import os
port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port)

app.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
import os
app = Flask(__name__)
app.config.from_pyfile('_config.py')
db = SQLAlchemy(app)
app.config['SECRET_KEY'], report_errors=False)

from views import *

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

_config.py

import os
#All the app's keys

Procfile

#this works fine
web: python project/run.py

#this doesn't work
web: gunicorn project.app:app

python project / app.py可以很好地運行應用程序,那么為什么gunicorn project.app:app拋出模塊ImportError?

您對url_for的導入需要在app = Flask(__name__)

您的應用正在Flask的服務器上運行,因為url_for在導入之前

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=port)

聲明。 在導入url_for之前,Gunicorn正在獲取應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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