2010-07-29 10 views
12

जब कोई उपयोगकर्ता लॉग नहीं होता है तो मैं प्रमाणीकृत उपयोगकर्ताओं के लिए साइट के क्षेत्रों में प्रवेश करने की कोशिश कर रहा हूं, मुझे केवल ?next= के साथ अपनी लॉगिन साइट पर रीडायरेक्ट किया जाना चाहिए और यहां सेटिंग्स से मेरा LOGIN_REDIRECT_URL। लेकिन मेरे पता बार /accounts/login में /users/login के बजाय प्रदर्शित किया गया है। सही यूआरएल पाने के लिए मुझे क्या बदलना चाहिए?Django प्रमाणीकरण - पृष्ठ को लॉग इन करने के लिए गलत रीडायरेक्ट यूआरएल

सेटिंग्स:

AUTH_PROFILE_MODULE = 'accounts.UserProfile' 
LOGIN_REDIRECT_URL = '/user/profile/' 

परियोजना के यूआरएल:

import accounts.urls as regUrls 

urlpatterns = patterns("", 
         (...)      
         (r'^user/', include(regUrls)),      
         ) 

खातों आवेदन urls.py:

urlpatterns = patterns('', 
         url(r'^profile/$', profile_edit , name='user_profile'), 
         url(r'^friends_list/$', friends_list), 
         (r'', include('accounts.auth_urls')), 
         ) 

और खातों auth_urls.py (जो बस 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'), 
          ) 

अगर मुझे और अधिक पेस्ट करना चाहिए, तो बस मुझे बताएं।

उत्तर

23

साथ ही आप सेटिंग में LOGIN_URL निर्धारित करने की आवश्यकता:

LOGIN_URL = '/user/login' 
+0

अब मुझे मिल गया: 'http: // डोमेन/उपयोगकर्ता/प्रोफ़ाइल/अगले =/उपयोगकर्ता/प्रोफ़ाइल /% 3Fnext% 3 डी/उपयोगकर्ता/प्रोफाइल /% 253 फ़ेक्स्ट% 253 डी/उपयोगकर्ता/प्रोफ़ाइल /% 25253 ... ':/ –

+0

LOGIN_URL"/उपयोगकर्ता/लॉगिन "नहीं होना चाहिए"/उपयोगकर्ता/प्रोफ़ाइल ".. आपके प्रश्न में याद आया। ऊपर अपडेट किया गया। – ars

संबंधित मुद्दे