反转 '' 与参数 '()' 和关键字参数 '' 未找到。尝试了 2 种模式:[]
Reverse for '' with arguments '()' and keyword arguments '' not found. 2 pattern(s) tried: []
我在我的 Django 模型中创建了一个出价 Class。当我试图获得 bid_list 它正在返回
“/bid_list/ 处的 NoReverseMatch
反向 'accept_bid' 与参数 '()' 和关键字参数 '{'user': }' 未找到。尝试了 2 种模式:['accept_bid/(?P\d+)/$', '/$']"
这是我的代码:
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 %}
您已允许用户字段为 None,但您在 get_absolute_url 方法中依赖它。由于它是空白的,因此查找失败。
URL 出价取决于用户 ID 而不是出价 ID,这似乎有点奇怪。您可能想在那里使用 self.id
。
我在我的 Django 模型中创建了一个出价 Class。当我试图获得 bid_list 它正在返回 “/bid_list/ 处的 NoReverseMatch 反向 'accept_bid' 与参数 '()' 和关键字参数 '{'user': }' 未找到。尝试了 2 种模式:['accept_bid/(?P\d+)/$', '/$']"
这是我的代码:
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 %}
您已允许用户字段为 None,但您在 get_absolute_url 方法中依赖它。由于它是空白的,因此查找失败。
URL 出价取决于用户 ID 而不是出价 ID,这似乎有点奇怪。您可能想在那里使用 self.id
。