我完成了教程,我正在研究文档,所以我认为我对系统的工作方式有很好的理解,我可以想到几种不同的方法来使用它,但我很好奇&# 34;适当"使用它的方式,因为我的直觉可能会导致我错误的方式。
1)我应该设置API,然后让其他应用与之互动吗?
在这种情况下说它是一个博客,我会创建一个API应用程序/api
来定义模型和api结构,它将负责创建,修改和销毁对象。
然后我会创建另一个应用程序,它将显示作者实际创建博客帖子的视图和表单,并将向{api}发送http
个请求。此视图还负责让其他用户通过与API交互并检索帖子来查看博客帖子。
2)以某种方式在同一API应用中处理所有这些会更好吗?
这些方案是否应该在与REST框架viewsets
等相同的视图中进行覆盖
感觉我能掌握它是如何工作的,但不是如何将所有部分组合在一起。感谢
答案 0 :(得分:1)
我应该设置一个API,然后让我的其他应用与之交互吗?
您应该创建一个API应用程序,将所有api放入其中。
然后我会创建另一个应用程序,它将显示作者实际创建博客帖子的视图和表单,并将http请求发送到api。
这取决于,我曾经像你说的那样做,但现在我发现我实际上不必在views.py中编写任何代码 例如,您有一个博客项目。
在博客中设置您的模型。
class Blog(models.Model):
blog_title = models.CharField(max_length=30, blank=True)
blog_content = models.CharField(max_length=140)
在api应用程序中,使用django-rest-framework创建类BlogList(generics.ListCreateAPIView)和类BlogDetail(generics.RetrieveUpdateDestroyAPIView)或其他APIView和Serializers来处理您的博客的CRUD,这样您就可以必须在博客的views.py
我建议使用Ajax来处理表单而不是django内置表单api。就像CRUD博客一样,只需向api / blogs发送Ajax调用(你在APIView中处理它,使用django-rest-framework来处理哪个字段只读或任何其他属性。),注册或登录只需调用api /用户。 django form api如果你有很多表单很复杂,如果你创建一个移动应用程序或在其他平台上使用你就无法重用它
以某种方式在同一API应用程序中处理所有这些会更好吗?
是的,像我上面说的那样,维护代码很容易。