J'essaie d'écrire un décorateur "personnel uniquement" pour Django, mais je n'arrive pas à le faire fonctionner:
def staff_only(error='Only staff may view this page.'):
def _dec(view_func):
def _view(request, *args, **kwargs):
u = request.user
if u.is_authenticated() and u.is_staff:
return view_func(request, *args, **kwargs)
messages.error(request, error)
return HttpResponseRedirect(request.META.get('HTTP_REFERER', reverse('home')))
_view.__name__ = view_func.__name__
_view.__dict__ = view_func.__dict__
_view.__doc__ = view_func.__doc__
return _view
return _dec
Essayer de suivre l'exemple d'ici . Je suis en train:
'WSGIRequest' object has no attribute '__name__'
Mais si je retire ces 3 lignes, je reçois juste une "erreur de serveur interne" inutile. Qu'est-ce que je fais mal ici?