Django NoReverseMatch

Django, Flask, Bottle, WSGI, CGI…
Antworten
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Hallo,
ich versuche einen Login mit Django und diesem Tutorial hier gerade zu programmieren. Jetzt habe ich alle dort gezeigten Dateien (hoffentlich) richtig in mein Projekt eingebaut, aber es gibt ein Problem mit den Urls in Templates: Django wirft immer einen NoReverseMatch Error wenn, wie im Beispiel, {% url userauth_login %} in einem Template steht. Die Django-Docs haben mich eher noch mehr verwirrt. Hier steht jetzt ganz viel von views, aber nichts mehr von den urlnamen aus urls.py. :(

Auf Hilfe hoffend
Lasse
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

In der Debug seite solltest du sehen welche URLs registriert sind. Schau mal nach ob es die "userauth_login" überhaupt gibt.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Lasse
User
Beiträge: 112
Registriert: Donnerstag 3. Februar 2011, 18:25

Ja, gibt es. Hier ein Auszug von urls.py der app userauth:

Code: Alles auswählen

    url(r'^login/$', 'login', {'template_name': 'userauth/login.html'},
        name='userauth_login'),
Auf der Debug Seite werden allerdings die bekannten urls nicht angezeigt.
Hier der Traceback: http://dpaste.com/805356/
Ich hoffe das mir villeicht mit diesen Informationen jemand Helfen kann.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Du hast Django 1.5, der Workshop ist für 1.4, ergo entweder Django 1.4 installieren oder die URL names in den templates quoten (siehe hierzu auch die 1.5 docs für den url-tag)

edit:// und in den docs steht zu url names: If you're using named URL patterns, you can refer to the name of the pattern in the url tag instead of using the path to the view -- Man muss also nur zu Ende lesen und nicht nach der hälfte aufhören :D
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Lasse hat geschrieben:Ja, gibt es. Hier ein Auszug von urls.py der app userauth:

Code: Alles auswählen

    url(r'^login/$', 'login', {'template_name': 'userauth/login.html'},
        name='userauth_login'),
Und diese Datei wird auch in der globalen urls.py wirklich eingebunden?
Antworten