我正在使用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()
我只是想知道如果它们在不同的类中,我如何指定路由。
答案 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;装饰者"而不是"注释"。他们称之为"模块"而不是"类"。此外,通常的做法是给文件小写名称。