__init__.py
包含应用程序工厂。
page.py
from app import app
# a simple page that says hello
@app.route('/hello')
def hello():
return 'Hello, World!'
app.py
from flaskr import create_app
app = create_app()
if __name__ == '__main__':
app.run()
当我启动服务器并转到'/ hello'时,它显示404。有什么问题吗?
您构造代码的方式不正确。这就是您无法访问“ / hello” API的原因。
假设您运行app.py文件。在这种情况下,您没有导入page.py对吗?那么,app.py如何知道page.py中定义了一条路由?
或者,假设您运行page.py。在这种情况下,当您执行“从应用程序导入应用程序”时,不会执行主定义。此处也将显示路由,但该应用程序将不会运行,因此您将无法访问您的API。
最简单的解决方案是将app.py和page.py的内容合并到一个文件中。
这是应该运行的简短解决方案。
page.py
from flaskr import app
@app.route('/hello')
def hello():
return 'Hello'
__ index __。py
from flask import Flask
app = Flask(__name__)
from flaskr import page
app.py
from flaskr import app
要运行它,您只需要在命令行上定义一个环境变量,就像这样:
export FLASK_APP=microblog.py
然后使用]运行它>
flask run