Я создаю API в Sanic, используя библиотеку внедрения зависимостей, и пытаюсь реализовать CORS.
Я попытался присвоить класс Sanic переменной и передать его в CORS()
, затемпередайте переменную и __name__
в providers.Factory
.
В комментариях ниже показаны точные строки, где я пытаюсь реализовать CORS:
from sanic_cors import CORS, cross_origin # imported the Sanic_cors here
class Application(containers.DeclarativeContainer):
"""
Application components container
"""
# declared the app variable here and passed the Sanic class
app = Sanic()
# passed the variable in to CORS()
CORS(app)
webapi = providers.Factory(app, __name__)
Я не ожидал ошибок при запускеAPI, но я получаю эту ошибку ниже:
Traceback (most recent call last):
File "api.py", line 7, in <module>
run_api(APP)
File "/Users/Kassim/Documents/Projects/pythonProjects/my-app-engine/app/api_runner.py", line 8, in run_api
web_api = application.webapi()
File "src/dependency_injector/providers.pyx", line 100, in dependency_injector.providers.Provider.__call__
File "src/dependency_injector/providers.pyx", line 1247, in dependency_injector.providers.Factory._provide
File "src/dependency_injector/providers.pxd", line 278, in dependency_injector.providers.__factory_call
File "src/dependency_injector/providers.pxd", line 272, in dependency_injector.providers.__callable_call
TypeError: __call__() takes 1 positional argument but 2 were given