NoReverseMatch с {% url ...%} и ключевыми словами - PullRequest
3 голосов
/ 06 ноября 2011

У меня проблема с этой ошибкой:

Caught NoReverseMatch while rendering: Reverse for ''pennies.views.seed_preview''
with arguments '()' and
keyword arguments '{'sa': 1724158887L, 'sh': 31L}' not found.

, который генерируется этим битом шаблона:

<a href="{% url 'pennies.views.seed_preview' sh=seed.id sa=seed.salt %}">
Preview</a>

и этот бит url.py

url(r'^seedpreview/sh=(?P<shareable_id>\d+)/sa=(?P<salt>\d+)$', \
    'pennies.views.seed_preview'),

и подпись этой функции

def seed_preview(request, shareable_id, salt):

(и URL из будущего, конечно). И ошибка подсказывает мне, что django собрал правильный словарь, чтобы найти мою функцию. Чтение templatetags/future.py также заставляет меня думать, что я все сделал правильно, но явно нет.

Есть указатели?

Ответы [ 2 ]

6 голосов
/ 06 ноября 2011

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

{% url 'pennies.views.seed_preview' shareable_id=seed.id salt=seed.salt %}
0 голосов
/ 07 ноября 2011

Вам нужно загрузить будущий тег шаблона URL в каждый шаблон , где вы его используете. Загрузка библиотеки тегов шаблонов не делает ее доступной для родительских или дочерних шаблонов.

Для получения дополнительной информации см. Документы Django по Пользовательские библиотеки и наследование шаблонов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...