我正在使用Django构建API,我想查询Github GraphQL API,并且发现了此GraphQL客户端的Python可以满足我的需求。
但是现在,我想知道,在我的Django应用程序中初始化此类客户端的适当位置在哪里?里面的要求?在apps.py中?在views.py中?任何指导方针将不胜感激!这是我当前的Django Project文件夹结构:
.
├── LICENSE
├── README.md
├── api
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── db.sqlite3
├── manage.py
├── portfolio
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
└── setup.py
提前致谢!
TLDR:在每个请求的视图方法=新客户端中实例化新客户端。(不错的选择-覆盖initial
视图方法)。以后再改善。
这取决于。
如果没有客户端的请求/用户选项(=每个请求/用户的客户端都相同 ):
按照建议的@ ElPapi42从子模块导入一个(=与在views.py中全局实例化新客户端相同,而不是方法逻辑的一部分)
或在视图方法中实例化新客户端-每个请求的新客户端
如果有请求/用户特定的选项(即客户端需要request.user
特定的选项/凭据):
选项1-每个工作人员视图实例化一次客户端。尽管它提供了一些性能优势,但它们却微妙而模糊:
实际上,您可能希望使用某些当前request.user
特定选项连接到github ,执行多个请求(=可能涉及cookie,并在后续请求中自动添加=>客户端不能与多个用户共享)=每个用户至少要有一个单独的客户端。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句