2009-07-06 2 views

ответ

7

Установки IS где вы устанавливаете свой динамический URL-адрес для входа. Обязательно импортируйте LOGIN_URL из settings.py в свой urls.py и используйте это вместо этого.

from projectname.settings import LOGIN_URL 
+0

Но как я подхожу, что в 'urlpatterns'? :/ –

+1

от django.conf.urls.defaults импорта * из projectname.settings импорта login_url urlpatterns = образцы ('', (г '^ статьи/2003 /' + login_url + '/ $', «новости. views.special_case_2003 '), – AlbertoPL

4

Это работает для меня ... с login_url = '/ счета/входа'

Если проблема что settings.py имеет ...

LOGIN_URL = '/login/' # <-- remember trailing slash! 

.. ., но, urls.py хочет ...

url(r'^login/$', 
     auth_views.login, {'template_name': '/foo.html'}, 
      name='auth_login'), 

Тогда это сделать:

# - up top in the urls.py 
from django.conf import settings 

# - down below, in the list of URLs ... 
# - blindly remove the leading '/' & trust that you have a trailing '/' 
url(r'^%s$' % settings.LOGIN_URL[1:], 
     auth_views.login, {'template_name': '/foo.html'}, 
      name='auth_login'), 

Если вы не можете доверять кому редактирует свой settings.py ... проверьте LOGIN_URL StartsWith слэш & СниП его, или нет. ... а затем проверить лидирующий слэш LOGIN_URL EndsWith в слэш & галс его, или нет ... и затем лавировать на «$»

+3

или LOGIN_URL.lstrip ('/') –