Obecnie używam tych wzorców, aby zalogować się i obecniePrzekierowanie, jeśli jesteś już zalogowany poprzez adresy URL Django?
urlpatterns += patterns("",
(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
(r'^logout/$', 'django.contrib.auth.views.logout', {'template_name': 'logout.html'})
)
pomimo posiadania LOGIN_REDIRECT_URL = „/ profile /” w moim settings.py Django nie wyśle mnie do/profile/jeśli chcę, aby uzyskać dostęp/zaloguj się/gdy jestem już zalogowany ...
Czy mogę w jakiś sposób przekierować wzorce adresów URL systemu auth? Nie chcę pisać do tego niestandardowego widoku.
to całkiem fajne! Dzięki za ten fragment – Jurudocs
+1 Działa perfekcyjnie, wolę używać nazwy mojego adresu URL w przypadku zmiany moich ścieżek, zmieniłem odpowiedź nieco 'login_forbidden = user_passes_test (lambda u: u.is_anonymous(), lazy (reverse, str) ('moje -url-name ')) ' – shabeer90
Możesz pozbyć się parametru adresu URL'? next', ustawiając 'redirect_field_name = None' (Patrz [Usuń? następny] (http://stackoverflow.com/a/12764484/2228912)). Ten parametr pojawia się w adresie URL po przekierowaniu użytkownika (np. Jeśli jest w tym przypadku uwierzytelniony). – h4k1m