Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用烧瓶。使用烧瓶的路线_Python_Flask - Fatal编程技术网

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中