Lorsqu'un utilisateur n'est pas connecté, j'essaie d'entrer des zones de site uniquement pour les utilisateurs authentifiés. Je devrais être redirigé vers mon site de connexion avec ?next=
et ici mon LOGIN_REDIRECT_URL depuis les paramètres. Mais au lieu de /users/login
dans ma barre d'adresse /accounts/login
est affiché. Que devrais-je changer pour obtenir la bonne url?Authentification Django - URL de redirection erronée à la page de connexion
paramètres:
AUTH_PROFILE_MODULE = 'accounts.UserProfile'
LOGIN_REDIRECT_URL = '/user/profile/'
les urls de
projet:
import accounts.urls as regUrls
urlpatterns = patterns("",
(...)
(r'^user/', include(regUrls)),
)
application concernant les comptes urls.py:
urlpatterns = patterns('',
url(r'^profile/$', profile_edit , name='user_profile'),
url(r'^friends_list/$', friends_list),
(r'', include('accounts.auth_urls')),
)
et les comptes auth_urls.py (qui sont urls simplement pour contrib.auth):
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
from django.contrib.auth import views as auth_views
urlpatterns = patterns('',
url(r'^login/$',
auth_views.login,
{'template_name': 'user/login_logout_register/login.html'},
name='auth_login'),
url(r'^logout/$',
auth_views.logout,
{'template_name': 'user/login_logout_register/logout.html'},
name='auth_logout'),
url(r'^password/change/$',
auth_views.password_change,
{'template_name': 'user/login_logout_register/password_change_form.html'},
name='auth_password_change'),
url(r'^password/change/done/$',
auth_views.password_change_done,
{'template_name': 'user/login_logout_register/password_change_done.html'},
name='auth_password_change_done'),
url(r'^password/reset/$',
auth_views.password_reset,
{'template_name': 'user/login_logout_register/password_reset_form.html',
'email_template_name': 'user/login_logout_register/password_reset_email.html'},
name='auth_password_reset'),
url(r'^password/reset/confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
auth_views.password_reset_confirm,
{'template_name': 'user/login_logout_register/password_reset_confirm.html'},
name='auth_password_reset_confirm'),
url(r'^password/reset/complete/$',
auth_views.password_reset_complete,
{'template_name': 'user/login_logout_register/password_reset_complete.html'},
name='auth_password_reset_complete'),
url(r'^password/reset/done/$',
auth_views.password_reset_done,
{'template_name': 'user/login_logout_register/password_reset_done.html'},
name='auth_password_reset_done'),
)
Si je devais coller plus anytning, dites-le moi.
maintenant je suis: 'http: // domain/user/profil/suivant =/user/profil /% 3Fnext% 3D/utilisateur/profile /% 253Fnext% 253D/user/profile /% 25253 ... ':/ –
Le LOGIN_URL aurait du être"/user/login "et non"/user/profile ".. manqué cela dans votre question. Mis à jour ci-dessus – ars