Я не знаю, относится ли этот ТАК-вопрос к той же проблеме, которую я собираюсь описать, но симптомы у нее те же. К сожалению, пока я пишу, он все еще остается нерешенным.
Вот моя проблема. Я пытаюсь добавить приложение регистрации django -Джеймса Беннетта в свой проект django. Я почти закончил настраивать его для своих нужд -пользовательских шаблонов и URL-адресов. Как раз тогда, когда я думал, что все хорошо, чтобы идти. Я получил ошибку NoReverseMatch
при использовании {% url 'testing' item_id=123 %}
(. Я также пытался использовать имя представления myapp.views.test
вместо этого, но безуспешно )в одном из пользовательских шаблонов, необходимых для регистрации django -. Интересно, что я попробовал reverse('testing', kwargs={'item_id':123})
в оболочке, и URL-адрес был возвращен очень хорошо. Я думал, что {% url %}
использует reverse()
в конце -, но почему я получил разные результаты?
urls.py:(URLconf моего сайта)
urlpatterns = patterns('myapp.views',
url(r'^test/(?P\d+)/$', 'test', name='testing'),
)
активация _email.txt:(указанный шаблон. Обратите внимание, что это преднамеренно в расширении .txt , как того требует регистрация django -, и это не должно быть причиной проблемы.)
{% comment %}Used to generate the body of the activation email.{% endcomment %}
Welcome to {{ site }}! Please activate your account by clicking on the following link:
{% url 'testing' item_id=123 %}
Note the activation link/code will be expired in {{ expiration_days }} days.
Я не знаю, имеет ли это значение, но просто подумал, что должен упомянуть активацию _email.txt хранится в каталоге templates myapp
, хотя он используется по django-registration
.
Кроме того, я использую django 1.4
У меня есть ощущение, что проблема как-то связана с пространствами имен URL, темой, которую я никогда не понимал, но это просто наивное предположение. (IMO, документация по django отлично объясняет все, что касается django, за исключением пространств имен URL)