Flask 实例名称必须是 'application',任何其他名称,如 'app' 都会失败
Flask instance name must be 'application', anything else, like 'app' will fail
我一直致力于在 Ubuntu 机器上将我的 Flask Web 应用程序配置为 运行,以便从框架的开发服务器转移到生产服务器。
为了帮助我配置 WSGI 和 nginx,我遵循了 DigitalOcean
发布的指南
按照指南,一切正常!但是请注意,在此示例中,Flask 的实例被命名为 'application',与几乎 everywhere 常用的 'app' 有点不同(例如在 Flask 网站和文档中)。
myflaskapp.py
的内容:
from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
application.run()
wsgi.py
的内容:
from weather import application
if __name__ == "__main__":
application.run()
但是,如果我要将上述文件中的实例名称从 'application' 更改为 'app',我会收到一个 'Internal Server Error',日志文件中没有任何内容说明原因。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
和
from myflaskapp import app
if __name__ == "__main__":
app.run()
根据上面发布的教程中的评论,其他一些用户遇到了同样的问题。我不明白为什么这个特定的服务器要求名称是 'application' - 这是我可以接受的,但它看起来很奇怪。
感谢您提供的任何想法!
假设您指的是 uWSGI,它会寻找名为 application
的东西。如果你想给它一个不同的名字,你可以在你的配置中指定一个:
[uwsgi]
callable = app
我一直致力于在 Ubuntu 机器上将我的 Flask Web 应用程序配置为 运行,以便从框架的开发服务器转移到生产服务器。
为了帮助我配置 WSGI 和 nginx,我遵循了 DigitalOcean
发布的指南按照指南,一切正常!但是请注意,在此示例中,Flask 的实例被命名为 'application',与几乎 everywhere 常用的 'app' 有点不同(例如在 Flask 网站和文档中)。
myflaskapp.py
的内容:
from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
application.run()
wsgi.py
的内容:
from weather import application
if __name__ == "__main__":
application.run()
但是,如果我要将上述文件中的实例名称从 'application' 更改为 'app',我会收到一个 'Internal Server Error',日志文件中没有任何内容说明原因。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
和
from myflaskapp import app
if __name__ == "__main__":
app.run()
根据上面发布的教程中的评论,其他一些用户遇到了同样的问题。我不明白为什么这个特定的服务器要求名称是 'application' - 这是我可以接受的,但它看起来很奇怪。
感谢您提供的任何想法!
假设您指的是 uWSGI,它会寻找名为 application
的东西。如果你想给它一个不同的名字,你可以在你的配置中指定一个:
[uwsgi]
callable = app