我的网址看起来是:
/api/v1/files/
/api/v1/files/100使用相同的功能来匹配它们是一个很好的实践吗?如下所示:
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如何在基于类的视图中使用不同的函数?谢谢
发布于 2016-08-16 18:23:16
我认为有单独的方法比一个基于pk分支的方法更干净。仅仅通过查看视图的方法,而不是必须遵循(尽管很简单)控制流,就可以更容易地理解哪种逻辑到了哪里。
我的第一个建议是检查Django Rest框架提供的视图集并查看它提供的给定方法中的逻辑执行情况。这似乎最适合您的用例。
另一种选择是查看DRF的泛型视图,这是基于这些混合物的。这些比视图集允许更多的控制和定制,如果您不需要视图集提供的所有功能,这有时是一个更好的选择。
https://stackoverflow.com/questions/38979368
复制相似问题