【发布时间】:2020-10-04 19:00:36
【问题描述】:
我正在用 Django 构建一个 API,我想查询 Github GraphQL API,我发现这个 GraphQL client 的 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
提前致谢!
【问题讨论】:
-
参考这篇文章。 medium.com/swlh/…
-
嘿!谢谢你的建议!但我认为这不是我想要的,如果你仔细阅读,我不是构建 GraphQL API,而是从 Django 请求中查询一个(Github v4 API)。我提到的库是 Python 的 GraphQL 客户端,它必须被初始化,但是每次请求进来时都初始化一个新的客户端实例听起来没有必要,所以我觉得必须有一个更好的地方来初始化库,然后导入已经将客户端初始化到视图
-
不能说这是否是最 Djangoish 的方式,但我会把它放在 views.py 中。如果您仅在一个视图中使用客户端,那么我将在该视图函数/类中导入和初始化客户端。
-
您好!我正在考虑这个问题,但我在那里读到,views.py 是根据工人的请求导入的,也许我理解错了?如果是这样的话,也许它与在请求本身上初始化它没有什么不同
-
为什么需要在服务器端进行查询?