有没有一种简单的方法可以将标题添加到ViewSet中的每个View?

时间:2019-10-24 08:29:43

标签: django-rest-framework

我正在使用一个简单的TodoViewSet,并希望向该集中的每个视图添加一个额外的标题。有没有简单的方法可以做到这一点?

class TodoViewSet(viewsets.ModelViewSet):
    queryset = TodoModel.objects.all().order_by('id')
    serializer_class = serializers.TodoSerializer

    # eg extra_header = "My-Header: Foo"

1 个答案:

答案 0 :(得分:0)

您可以覆盖default_response_headers属性:

class TodoViewSet(viewsets.ModelViewSet):
    queryset = TodoModel.objects.all().order_by('id')
    serializer_class = serializers.TodoSerializer

    @property
    def default_response_headers(self):
        headers = viewsets.ModelViewSet.default_response_headers.fget(self)
        headers['My-Header'] = 'Foo'
        return headers