首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django:相同的方法不同的url

Django:相同的方法不同的url
EN

Stack Overflow用户
提问于 2016-08-16 15:53:06
回答 1查看 794关注 0票数 0

我的网址看起来是:

代码语言:javascript
复制
/api/v1/files/
/api/v1/files/100

使用相同的功能来匹配它们是一个很好的实践吗?如下所示:

代码语言:javascript
复制
class FileView(APIView):
    parser_classes = (MultiPartParser,)
    permission_classes = (IsAuthenticated,)

    @method_decorator(csrf_exempt)
    def dispatch(self, request, *args, **kwargs):
        return super(FileView, self).dispatch(request, *args, **kwargs)

    def post(self, request, pk = None):
        if pk is not None:
            Do something
        else:
            do something

如何在基于类的视图中使用不同的函数?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 18:23:16

我认为有单独的方法比一个基于pk分支的方法更干净。仅仅通过查看视图的方法,而不是必须遵循(尽管很简单)控制流,就可以更容易地理解哪种逻辑到了哪里。

我的第一个建议是检查Django Rest框架提供的视图集并查看它提供的给定方法中的逻辑执行情况。这似乎最适合您的用例。

另一种选择是查看DRF的泛型视图,这是基于这些混合物的。这些比视图集允许更多的控制和定制,如果您不需要视图集提供的所有功能,这有时是一个更好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38979368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档