在Flask中指定路由

时间:2015-03-21 12:14:48

标签: python flask

我正在使用Flask创建Restful Web服务。 从示例中我看到我们使用注释,如

@ app.route( '/')

如果我有两个Classes,我想知道如何使用它。我尝试将其移动到包内的不同文件中,但之后它给出了404错误。

Service.py的内容

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

Flask.py的内容

from flask import Flask

app = Flask(__name__)

if __name__ == '__main__':
    app.run()

我只是想知道如果它们在不同的类中,我如何指定路由。

1 个答案:

答案 0 :(得分:1)

不要在两个模块中定义app。只在一个地方定义它并将其导入其他地方。在定义app的模块中,在定义之后导入其他模块,以避免循环导入。

Flask项目的基本结构如下:

MyProject/
    my_package/
        __init__.py
        service.py
    run.py

MyProject/my_package/__init__.py

from flask import Flask

app = Flask(__name__)

from my_project import service

MyProject/my_package/service.py

from my_project import app


@app.route('/')
def hello_world():
    return 'Hello, World!'

MyProject/run.py

from my_package import app

app.run('localhost', debug=True)

使用python run.py目录中的MyProject与dev服务器一起运行应用程序。


您还有一些术语错误。他们打电话给#34;装饰者"而不是"注释"。他们称之为"模块"而不是"类"。此外,通常的做法是给文件小写名称。