Django: Динамическая переменная LOGIN_URL

Эта страница делает хорошее задание обращения к некоторым моим вопросам: http://www.b-list.org/weblog/2006/sep/10/django-tips-laying-out-application/

Конкретно:

  1. Для определения пользовательских тегов шаблона или фильтров необходимо создать подкаталог в application’s каталоге, названном templatetags, и это должно содержать файл, названный __ init __. py так, чтобы это могло быть импортировано как модуль Python.
  2. Для определения модульных тестов, которые будут автоматически замечены средой тестирования Django’s, помещает их в модуль, названный тестами (который может быть или файлом, названным tests.py или каталогом, названным тестами). Среда тестирования также найдет любой doctests в том модуле, но предпочтительное место для тех является, конечно, docstrings классов или функций they’re разработанный для тестирования.
  3. Для обеспечения пользовательского SQL, который будет сразу выполнен после того, как приложение установлено, создайте подкаталог, названный sql в application’s каталоге; имена файлов должны совпасть с названиями моделей, таблицы которых they’ll воздействуют на; например, если у Вас есть приложение, названное блогом, содержащим модель под названием Запись, тогда файл sql/entry.sql в app’s каталоге может использоваться, чтобы изменить или вставить данные в таблицу записей, как только it’s создал.

примечание о tests.py и тестах (каталог) также содержит для моделей, который помогает решить проблему наличия пути ко многим тестам (или модели) для одного файла.

я все еще хотел бы видеть некоторые примеры / предложения для приложения/проекта ломаются, и большие django сайты та работа хорошо.

6
задан Srikar Appalaraju 1 January 2013 в 05:03
поделиться

2 ответа

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

from projectname.settings import LOGIN_URL
7
ответ дан 9 December 2019 в 22:38
поделиться

Это работает для меня ... с LOGIN_URL = '/ accounts / login'

Если проблема в этот 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 начинается с косой черты и убирает его, или нет. ... а затем проверьте, нет ли в конце косой черты LOGIN_URL заканчивается косой чертой и прикрепите ее, или нет ... а затем прикрепите "$"

4
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

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