Ich verwende ein benutzerdefiniertes Template-Tag in meiner Django App. Beim Versuch, reverse
aufzurufen, um eine URL zu erhalten, erhalte ich einen NoReverseMatch
Fehler, obwohl derselbe Anruf an anderer Stelle in der App funktioniert.NoReverseMatch von Reverse() in benutzerdefinierten Vorlage verwenden Tag
In portal/templatetags/custom_tags.py
:
@register.simple_tag()
def breadcrumb(view, text, *args):
return u'» <a href="' + reverse(view, args) + '">' + text + '</a>'
Innerhalb einer Vorlage:
{% breadcrumb 'portal-home' 'Portal' %}
In portal/urls.py
:
urlpatterns = [
# home
url(r'home/$', portal_home, name='portal-home'),
...
]
Es ist auf jeden Fall eine Ansicht namens portal-home
und wenn ich versuche, reverse('portal-home')
woanders in der App (wie in einer Ansicht zum Beispiel) funktioniert es gut. Hier
sind die genauen Fehler:
Reverse for 'portal-home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []