Ich habe eine Bid-Klasse in meinem Django-Modell erstellt. Wenn ich versuche, bid_list zu erhalten, gibt es "NoReverseMatch at/bid_list/ Reverse für 'accept_bid' mit Argumenten '()' und Schlüsselwortargumente '{' user ':}' nicht gefunden. 2 Muster (s) versucht: [ '(? P \ d +) accept_bid// $', '/ $']“Reverse für '' with arguments '()' und Schlüsselwortargumente '' nicht gefunden. 2 Muster versucht: []
Hier ist mein Code:
models.py:
class Bid(models.Model):
user = models.OneToOneField(User, null=True, blank=True)
amount = models.IntegerField()
def get_absolute_url(self):
return reverse("accept_bid", kwargs={"user": self.user})
def __unicode__(self):
return self.amount
views.py:
queryset = Bid.objects.all().order_by('amount')
urls.py:
url(r'^bid_list/$', views.bid_list, name='bid_list'),
url(r'^accept_bid/(?P<user>\d+)/$', views.accept_bid, name='accept_bid'),
bid_list.html:
{% for bid in queryset %}
<tbody>
<tr>
<td>{{bid.user}}</td>
<td>{{bid.amount}}</td>
<td>
<input type='submit' href='{{ bid.get_absolute_url }}' value='Accept' /></td>
</tr>
</tbody>
{% endfor %}
Danke für Ihre freundliche Antwort. Ich konnte nicht bid.get_absolute_url in Wie kann ich das tun? – sumanth
Nicht ganz sicher, was Sie tun. Eingaben haben keine Aufrufe. Was passiert, wenn Sie ein Formular absenden, wird durch das Formularelement selbst im Attribut "Aktion" gesteuert. –