Khi người dùng không đăng nhập Tôi đang cố gắng nhập các khu vực của trang web cho người dùng được xác thực chỉ tôi nên được chuyển hướng đến trang đăng nhập của mình với ?next=
và tại đây LOGIN_REDIRECT_URL của tôi từ cài đặt. Nhưng thay vì /users/login
trong thanh địa chỉ của tôi /accounts/login
được hiển thị. Tôi nên thay đổi điều gì để có được url đúng?Xác thực Django - sai chuyển hướng url để đăng nhập trang
cài đặt: url
AUTH_PROFILE_MODULE = 'accounts.UserProfile'
LOGIN_REDIRECT_URL = '/user/profile/'
dự án:
import accounts.urls as regUrls
urlpatterns = patterns("",
(...)
(r'^user/', include(regUrls)),
)
chiếm ứng dụng urls.py:
urlpatterns = patterns('',
url(r'^profile/$', profile_edit , name='user_profile'),
url(r'^friends_list/$', friends_list),
(r'', include('accounts.auth_urls')),
)
và chiếm auth_urls.py (mà chỉ đơn giản là URL cho 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'),
)
Nếu tôi nên dán bất kỳ thứ gì khác, chỉ cần cho tôi biết.
bây giờ tôi nhận được: 'http: // domain/user/profile/tiếp theo =/user/profile /% 3Fnext% 3D/user/profile /% 253Fnext% 253D/user/profile /% 25253 ... ':/ –
LOGIN_URL phải là"/user/login "không phải"/user/profile ".. đã bỏ lỡ điều đó trong câu hỏi của bạn. Đã cập nhật ở trên. – ars