Django - используйте обратный URL, отображающийся в настройках

Я использую SQL Server Express и компоненты ADO. Работает отлично. Можно выполнить Экспресс-инсталляцию SQL Server с командной строкой для сокрытия сложностей от пользователей. Можно также распределить базу данных, которую Вы загружаете именем файла. Существуют миллионы пользователей SQL Server, таким образом, решения любых проблем легко найдены в межтрубах:-)

38
задан TM. 5 October 2009 в 12:02
поделиться

1 ответ

Django 1.5 и более поздние версии

Начиная с Django 1.5, LOGIN_URL и LOGIN_REDIRECT_URL принимают именованные шаблоны URL. Это означает, что вам не нужно жестко указывать URL-адреса в своих настройках.

LOGIN_URL = 'login'  # name of url pattern

Для Django 1.5–1.9 вы также можете использовать имя функции просмотра, но это не рекомендуется, потому что оно устарело в Django 1.8 и не будет работать в Django 1.10 +.

LOGIN_URL = 'django.contrib.auth.views.login' # path to view function

Django 1.4

Для Django 1.4 вы можете использовать reverse_lazy

LOGIN_URL = reverse_lazy('login')

Django 1.3 и более ранние версии

Это исходный ответ, который работал до reverse_lazy был добавлен в Django

В urls.py, настройки импорта:

from django.conf import settings

Затем добавьте шаблон URL

urlpatterns=('',
    ...
    url('^%s$' %settings.LOGIN_URL[1:], 'django.contrib.auth.views.login', 
        name="login")
    ...
)

Обратите внимание, что вам нужно нарезать LOGIN_URL , чтобы удалить начальную косую черту.

В оболочке:

>>>from django.core.urlresolvers import reverse
>>>reverse('login')
'/accounts/login/'
53
ответ дан 27 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: