Python 如何使用烧瓶。使用烧瓶的路线
目录结构简介如下:Python 如何使用烧瓶。使用烧瓶的路线,python,flask,Python,Flask,目录结构简介如下: \uuuu init\uuuu.py包含应用程序工厂 page.py from app import app # a simple page that says hello @app.route('/hello') def hello(): return 'Hello, World!' from flaskr import app @app.route('/hello') def hello(): return 'Hello' app.py fro
\uuuu init\uuuu.py
包含应用程序工厂
page.py
from app import app
# a simple page that says hello
@app.route('/hello')
def hello():
return 'Hello, World!'
from flaskr import app
@app.route('/hello')
def hello():
return 'Hello'
app.py
from flaskr import create_app
app = create_app()
if __name__ == '__main__':
app.run()
from flaskr import app
当我启动服务器并转到“/hello”时,它会显示404。
有什么问题吗?您构建代码的方式不正确。这就是您无法访问“/hello”API的原因 假设您运行app.py文件。在这种情况下,您没有导入page.py,对吗?那么,app.py如何知道page.py中定义了路由 或者,假设您运行page.py。在这种情况下,当您执行“从应用程序导入应用程序”时,不会执行主定义。在这里,路由现在也会出现,但应用程序不会运行,因此您将无法访问API
最简单的解决方案是将app.py和page.py的内容合并到一个文件中 下面是一个应该运行的简短解决方案 page.py
from app import app
# a simple page that says hello
@app.route('/hello')
def hello():
return 'Hello, World!'
from flaskr import app
@app.route('/hello')
def hello():
return 'Hello'
__索引
from flask import Flask
app = Flask(__name__)
from flaskr import page
app.py
from flaskr import create_app
app = create_app()
if __name__ == '__main__':
app.run()
from flaskr import app
要运行此命令,只需在命令行上定义一个环境变量,如下所示:
export FLASK_APP=microblog.py
然后运行它
flask run
您还需要定义方法类型。像
@app.route('/hello',methods=['GET'])
@stud3如果没有定义任何方法,通常它不应该默认为GET
@Mercy Gainsborough应该不是你的app.py
中flask import create_app的吗?@Kevin抱歉,我不明白。那是什么意思?也许我可以用Buleprint。但是我想使用那个Flask实例的app。来自flaskr导入页面
应该在app.py中,而不是init.py中