Gunicorn import error: url_for not found in flask, but native flask run works fine
Gunicorn import error: url_for not found in flask, but native flask run works fine
我可以 运行 使用 flask 的内置网络服务器命令 运行() 我的 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 正在获取应用程序
我可以 运行 使用 flask 的内置网络服务器命令 运行() 我的 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 正在获取应用程序