Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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 如何访问大容量Restful api中的api.url__Python_Flask_Python Import_Flask Restful - Fatal编程技术网

Python 如何访问大容量Restful api中的api.url_

Python 如何访问大容量Restful api中的api.url_,python,flask,python-import,flask-restful,Python,Flask,Python Import,Flask Restful,我正在使用Flask Restful开发一个Restful API,它的资源比我希望保留在app.py中的资源还要多。所以我应用了建议的方法。现在我想从资源中访问以生成一些链接,但似乎我必须从应用程序导入api中才能做到这一点 为了避免循环导入,我当前的解决方案是执行惰性导入。但是有更好的办法,对吗 app.py: from flask import Flask from flask_restful import Api from myapi.resources.foo import Foo f

我正在使用Flask Restful开发一个Restful API,它的资源比我希望保留在app.py中的资源还要多。所以我应用了建议的方法。现在我想从资源中访问以生成一些链接,但似乎我必须从应用程序导入api中
才能做到这一点

为了避免循环导入,我当前的解决方案是执行惰性导入。但是有更好的办法,对吗

app.py

from flask import Flask
from flask_restful import Api
from myapi.resources.foo import Foo
from myapi.resources.bar import Bar
from myapi.resources.baz import Baz

app = Flask(__name__)
api = Api(app)

api.add_resource(Foo, '/Foo', '/Foo/<str:id>')
api.add_resource(Bar, '/Bar', '/Bar/<str:id>')
api.add_resource(Baz, '/Baz', '/Baz/<str:id>')
您可以将导入向下移动到
api=api(app)
行下方:

from flask import Flask
from flask_restful import Api

app = Flask(__name__)
api = Api(app)

from myapi.resources.foo import Foo
from myapi.resources.bar import Bar
from myapi.resources.baz import Baz

api.add_resource(Foo, '/Foo', '/Foo/<str:id>')
api.add_resource(Bar, '/Bar', '/Bar/<str:id>')
api.add_resource(Baz, '/Baz', '/Baz/<str:id>')
请参阅烧瓶文档中的。

您可以将导入向下移动到
api=api(app)
行下方:

from flask import Flask
from flask_restful import Api

app = Flask(__name__)
api = Api(app)

from myapi.resources.foo import Foo
from myapi.resources.bar import Bar
from myapi.resources.baz import Baz

api.add_resource(Foo, '/Foo', '/Foo/<str:id>')
api.add_resource(Bar, '/Bar', '/Bar/<str:id>')
api.add_resource(Baz, '/Baz', '/Baz/<str:id>')
请参阅烧瓶文档中的

from flask_restful import Resource
from app import api
from bar import Bar

class Foo(Resource):
    def get(self):
        related = api.url_for(Bar, foo=self.id)
        return {'Foo':self.id, 'related_bar':related}, 200

    def post(self):
        pass