在Django App中初始化GraphQL客户端的位置

ElPapi42

我正在使用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视图方法)。以后再改善。


这取决于。

如果没有客户端的请求/用户选项(=每个请求/用户的客户端都相同 ):

  1. 按照建议的@ ElPapi42从子模块导入一个(=与在views.py中全局实例化新客户端相同,而不是方法逻辑的一部分)

  2. 或在视图方法中实例化新客户端-每个请求的新客户端

如果有请求/用户特定的选项(即客户端需要request.user特定的选项/凭据):

  1. 在视图方法中实例化新客户端

选项1-每个工作人员视图实例化一次客户端。尽管它提供了一些性能优势,但它们却微妙而模糊:

  • 您可能不知道这意味着什么:共享客户端=>可能会使用一些方法来修改依赖于状态的不同请求/用户的客户端状态
  • 工人的寿命实际上应该没有那么长
  • 难以评估绩效收益而难以评估正确的实施

实际上,您可能希望使用某些当前request.user特定选项连接到github ,执行多个请求(=可能涉及cookie,并在后续请求中自动添加=>客户端不能与多个用户共享)=每个用户至少要有一个单独的客户端。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Django中初始化GeopositionField

来自分类Dev

在Django CMS中初始化MultipleChoiceField

来自分类Dev

Django / tastypie实现中的OAuth 2.0客户端ID

来自分类Dev

在setUpClass中访问Django测试客户端

来自分类Dev

客户端验证在Django中是必需的吗?

来自分类Dev

如何在Django中创建客户端?

来自分类Dev

客户端补丁在 django 测试中给出 400 错误

来自分类Dev

多线程客户端中COM对象的初始化和实例化

来自分类Dev

soap webservice php客户端参数初始化

来自分类Dev

Elasticsearch Java客户端初始化失败

来自分类Dev

在页面初始化期间完成客户端工作

来自分类Dev

soap webservice php客户端参数初始化

来自分类Dev

如何初始化 Kony Fabric 客户端

来自分类Dev

Azure上的Django Postgres客户端

来自分类Dev

django rest框架的客户端?

来自分类Dev

客户端JS + Django Rest Framework

来自分类Dev

Django测试客户端未登录

来自分类Dev

不同客户端的Django权限

来自分类Dev

Django 测试客户端发布数据

来自分类Dev

在Spring受管bean的构造函数中初始化泽西客户端

来自分类Dev

在特征中初始化数据库客户端

来自分类Dev

在应用程序中初始化改造客户端

来自分类Dev

从Django中的url参数初始化表单输入字段

来自分类Dev

如何在 Django 中初始化我的表单?

来自分类Dev

DJANGO中的REST / JSON通信...在客户端(Linux)和服务器(Django)之间

来自分类Dev

了解Django表单初始化

来自分类Dev

Django - 表单初始化如何工作?

来自分类Dev

Django初始化期间Django迁移失败

来自分类Dev

在Django的客户端浏览器中启用了JavaScript?