如何解决如何使用 api.add_resource 在不同的文件中路由?
我在 apis.py
中有一个使用 flask-restful
的路由表,例如:
api.add_resource(sonarqube.sonarqubeHistory,'/sonarqube/<project_name>')
api.add_resource(project.ProjectFile,'/project/<sint:project_id>/file')
api.add_resource(redmine.RedmineFile,'/download','/file/<int:file_id>')
资源类位于其他模块中,例如 sonarqube.py
、project.py
或 redmine.py
。
我的问题是:是否也可以将 api.add_resource()
移动到其他模块中(对于更结构化的代码)?我试着简单地移动语句和 from apis import api
,但由于 apis.py
也做其他工作,它会导致循环导入。
是否有类似用例的示例?
解决方法
其实为了更好的设计,把路由表从 apis.py 拆分成不同的模块,因为 apis.py 也在做其他的工作。例如routingapis.py。
在需要的地方导入新的“routingapis”。
如果即使在拆分后仍然注意到循环导入并且不可避免,则推迟导入。编写一个单独的函数来添加资源
类似的东西
def functionToAddResource():
from routingapis import api
api.add_resource(sonarqube.SonarqubeHistory,'/sonarqube/<project_name>')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。