我的應用中有很多基於類的視圖。他們中的大多數只能由經過認證的工作人員訪問。如何輕鬆地添加用戶檢查大量的基於類的視圖?django爲基於類的視圖添加用戶認證檢查
對於非標準功能的觀點我加裝飾是這樣的:
def only_staff_allowed(fn):
'''decorator'''
def wrapped(request, *args, **kwargs):
if request.user.is_staff:
return fn(request, *args, **kwargs)
else:
return HttpResponseRedirect(reverse('moderator:login'))
return wrapped
@only_staff_allowed
def dashboard(request):
''' now accessible only by staff users '''
return render(request, 'moderator/dashboard.html', {})
我該怎麼辦類似這樣的基於類的意見財產以後?
class AddressesAddList(ListView):
template_name = 'moderator/addresses/add_list.html'
queryset = Address.objects.filter(need_moderating=True)
paginate_by = 100
我應該添加一些mixin還是重寫一些方法?或者我可以裝飾一些東西?