我的应用程序中有一些视图,这些视图需要将关键字参数传递给as_view
才能发挥作用:
url(r'^api/foobar/$',
FoobarView.as_view(key='foobar'),
name='foobar'),
视图本身以类似于以下方式的方式使用键:
class FoobarView(APIView):
key = None
def get(self, request):
return Response({
'foobar': self.key
})
确保key
关键字参数传递给as_view
并触发错误的最佳方法是什么?
答案 0 :(得分:0)
也许在您看来,覆盖as_view是否已设置检查。
类似这样的东西:
class FoobarView(APIView):
key = None
def get(self, request):
return Response({
'foobar': self.key
})
@classmethod
def as_view(cls, **initkwargs):
if 'key' not in initkwargs:
raise ValueError
return super().as_view(**initkwargs)
只需确定自己,如果缺少密钥,您到底想做什么。