2017-06-29 1 views
1

Ich habe eine Ansicht erstellt, die POST verarbeitet. Ich versuche Reverse zu verwenden, um eine Ansicht zu erstellen, die diese Ansicht verwendet, um mehrere Jobs zu verarbeiten. Ich erhalte die folgendeWie verwende ich eine vorhandene Ansicht mit reverse()?

Im Folgenden finden Sie Fehlermeldung

django.core.urlresolvers.NoReverseMatch: Reverse für 'release_action' mit Argumenten '()' und Keyword-Argumente '{}' nicht gefunden. 0 Muster versucht: []

Zeigen Sie Code an, der POST-Anforderungen verarbeitet.

Ich schrieb den Code in reverse(), um den obigen Code in der for-Schleife auszuführen. Ich erhalte eine Fehlermeldung. Was ist das Problem? Hier for-Schleife Code

class ReleaseBulkActionView(APIView): 
    def post(self, request, *args, **kwargs): 
     ... 
     for release in releases: 
     ... 
      HttpResponseRedirect(reverse('release_action', args=(), kwargs={})) 

Urls.py wie folgt aussieht:

url(r'^releases/(?P<release_id>[0-9]+)/actions/?$', ReleaseActionView.as_view(), name="release_action") 
+0

welche Fehler bekommen Sie? – Exprator

+0

Ihre ReleaseActionView nimmt ganz klar Argumente entgegen, warum passieren Sie also leere? –

+0

@Daniel Roseman In der obigen ReleaseActionView erhalten args und kwargs keine Argumente. –

Antwort

4

Ihr fehlen die Argumente in reverse() denke ich. Es könnte sein:

release_id = 4711 
reverse('release_action', kwargs={'release_id': release_id,}) 

würden Sie einen URL für 4711

Verwandte Themen