2017-06-29 2 views
1

J'ai créé une vue qui gère POST. J'essaie d'utiliser reverse pour créer une vue qui utilise cette vue pour traiter plusieurs tâches. Je reçois le texte suivantComment utiliser une vue existante avec reverse()?

est Ci-dessous un message d'erreur

django.core.urlresolvers.NoReverseMatch: inverse pour 'release_action' avec des arguments '()' et arguments mot-clé '{}' not found. 0 modèle (s) essayé: []

Afficher le code qui gère les requêtes POST. J'ai écrit le code dans reverse() pour exécuter le code ci-dessus dans la boucle for. Je reçois un message d'erreur. Quel est le problème? Voici pour la boucle Code

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

Urls.py ressemble à ceci:

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

quelle erreur que vous obtenez? – Exprator

+0

Votre ReleaseActionView prend clairement des args, alors pourquoi passez-vous les vides? –

+0

@Daniel Roseman Dans le ReleaseActionView ci-dessus, args et kwargs ne reçoivent pas d'arguments. –

Répondre

4

Votre manquent les arguments reverse() je pense. Il pourrait être:

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

voulez-vous obtenir une URL pour 4711