Ter*_*rry 6 python django django-models
我对 Django 相当陌生,并且有一些涉及创建 Django 应用程序作为 API 服务器前端的要求。
这个应用程序应该几乎不需要将数据存储在本地数据库中。相反,我们将访问 REST API 来获取和发布数据。
由于对框架不太熟悉,我应该将用于获取和操作远程 API 数据的逻辑放在哪里?我最初的想法是将其放入 models.py 文件中,但模型似乎是专门为 Django 中的数据库访问而设计的。
然后我在表单类的 get/post 函数中放置了请求调用。然而,这似乎是我将数据逻辑与视图混淆了。另外,我注意到在发布表单后重新加载页面会导致表单包含该表单的原始 GET 请求,直到我重新启动服务器为止。
看来我应该把这个逻辑放在其他地方,但我希望有人解释一下在这种情况下什么是“标准”。
我确信我不是第一个遇到这种情况的人,并且希望了解其他项目如何在 Django 中处理这种情况。谢谢您的指导。
当我尝试将 Django ORM 包装在 API 上时,我正在解决类似的问题,令我惊讶的是,之前没有人做过类似的事情。(或者至少他们还没有公开发表有关此事的要点或博文。)
我认为你的直觉是正确的,逻辑可能不应该出现在视图或表单中。理想情况下,它应该是较低级别的(模型、管理器、查询集或更低),以便您获得 Django 其余部分的所有好处。
我认为最理想的方法是创建一个自定义数据库后端来模拟数据库的功能,同时直接与 API 交互。
以下是其含义的高级概述: http://reinout.vanrees.org/weblog/2016/11/04/database-backends.html
另外,如果您查看 Django 源代码,您可能可以使用 django/db/backends/dummy/ 作为如何构建代码的起点。
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |