Nella mia applicazione Django, ho alcune autorizzazioni di cui gli utenti hanno bisogno per accedere ad alcune viste (usando django.contrib.auth
). Funziona bene, usando il decoratore @permission_required
sulle funzioni di visualizzazione.Django: si applicano le autorizzazioni nel dispatcher URL?
Tuttavia, alcuni dei miei URL volontà di vedute che non ho scritto, come il built-in django.contrib.auth.views.password_change
, come nel seguente urls.py
:
urlpatterns = patterns(
(r'^$', "users.views.index"),
(r'^password_change/$', 'django.contrib.auth.views.password_change'))
In questo caso, ho un posto di applicare la mia @permission_required
decoratore - o io? C'è un modo per applicare una restrizione delle autorizzazioni a livello di dispatcher URL?
Come utilizzereste 'permission_required' nello stesso modo? In particolare, come si passa l'argomento del nome del permesso? –
@Manoj: consulta questa sezione della documentazione: http://docs.djangoproject.com/en/dev/topics/auth/#limiting-access-to-generic-views l'idea è di scrivere un wrapper sottile (con permission_required decorator) attorno alla vista generica e punta il tuo urlconf a quel wrapper ... – Hoff
Questo è quello che ho fatto nella mia risposta. Volevo solo sapere se c'era un altro modo per farlo. Grazie. –