django-template-url aus einer anderen app

Habe ich, fehlt etwas albern. Ich habe eine {% url %} im template, wo die action ist von einer anderen app aus. Es funktioniert nicht, aber ich habe keine Ahnung, wenn es etwas anders über die Verwendung von view-Funktionen von anderen apps oder wenn ich gerade etwas albern.

call/template/call/file.html

    <form action="{% url 'upload_image' %}"></form>

picture/urls.py

from .views import PictureList, PictureCreate, PictureDetail, PictureUpdate, PictureDelete, upload_image

...
url(r'^upload_image/$', upload_image, name='upload_image'),
...

picture/view.py

def upload_image( request ):
    print 'IN IMAGE UPLOAD'
    print request

Alles, was ich jemals bekommen ist:

NoReverseMatch at /call/4/

Reverse for 'upload_image' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
  • Ist die Datei absichtlich namens url.py oder ist es ein Tippfehler?
  • es war ein Tippfehler...ist jetzt behoben
  • Was ist, wenn Sie eine Namespace-version {% url 'picture:upload_image' %} statt?
  • Ich habe versucht action="{% url 'picture:upload_image' %}" und url(r'^upload_image/$', upload_image, namespace='picture', name='upload_image'), sagt aber Bild ist nicht von einem registrierten Namensraum. (Ich habe nicht benutzt namespaces vor.)
  • oh, oder ist der namespace, gehen in das Projekt urls.py Liste (und nicht in picture/urls.py)
  • ah, hab es. Namensräume werden standardmäßig auf den Namen der app. das hat geklappt. Vielen Dank!

InformationsquelleAutor brechmos | 2014-11-08
Schreibe einen Kommentar