组织与常规Django和DRF相关的代码

时间:2016-12-15 08:17:26

标签: django-rest-framework

我有一个由Django提供支持的网站,以及一个用于向外界传播数据的Django REST框架(DRF)Api(比如Android)。在做了研究之后,我得出结论,REST框架的端点不应该用于渲染常规的Django模板(用于渲染网站本身)。所以我有两组url和视图用于同一个ORM模型集合。问题是,

  1. 命名DRF网址和常规网址的最佳做法是什么,这样我就不会混淆哪一个用于网络,哪一个用作外部世界的端点
  2. 我应该在同一个python文件中定义基于DRF类的视图和用于渲染网站的常规视图,还是应该将它们分开?
  3. 为了简单起见,假设项目只包含一个模型。

    class sms(models.Model):
        # fields
        class Meta:
            managed = False
            db_table = 'sms'
    

    现在,我有两套针对此模型的视图(DRF):

    class SmsList(APIView):
        renderer_classes = [JSONRenderer,TemplateHTMLRenderer]
        # template_name = 'sms/incoming_list_paginator.html'
    
        def get(self, request):
            qs = SMS.objects.all()
            serializer = SMSSerializer(qs, many=True)
            return Response(serializer.data)
    

    以及用于呈现相应网页的常规视图:

    def get_sms(APIView):
        qs = SMS.objects.all()
        return render_to_response('test.html',               
                                  {'legal_entities_form':legal_entities_form},
                                  context_instance=RequestContext(request))
    

    现在,我有两个网址,我希望这些网址能够命名为“短信”。但我必须对它们进行不同的命名,例如smssms_rest。什么是最佳做法?如果我向所有与DRF相关的网址添加_rest后缀,这样可以吗?

0 个答案:

没有答案