В моих шаблонах Django у меня есть пара фрагментов кода, которые выглядят примерно так:
<a href="{% url root %}">Root</a>
Они корректно работают при рендеринге шаблона. Однако всякий раз, когда я запускаю свои модульные тесты с использованием среды модульного тестирования Django, я получаю следующую ошибку:
NoReverseMatch: обратное для mysite.root с аргументами () и аргументами ключевых слов {} не найдено.
Корень правильно назван в urls.py
(url(r'^$', 'index', name='root')
), и, опять же, ошибка не отображается при просмотре сайта - только во время модульных тестов.
Если я изменю код на это:
{% url root as root_path %}
<a href="{{ root_path }}">Root</a>
ошибка также исчезает. В чем проблема с первым фрагментом кода?