我将泛型类视图定义为:
class ItemDetailView(DetailView):
model = Item
template_name = "item_detail.html"
及其对应的网址格式
('^/item/(?P<pk>\d+)/$', ItemDetailView.as_view(), name="item-detail"),
我想在我的模板
中使用这样的东西<form method="GET" action="{% url item-detail %}">
<input type="text" name="pk">
</form>
显然,{% url %}
失败,因为item-detail
期望pk
作为参数。有没有办法调用ItemDetailView
而不必像下面那样使用帮助器视图?:
def get_item_detail(request):
return reverse('item-detail', kwargs={'pk': request.GET['pk']})
答案 0 :(得分:1)
将模板更改为:
{% load url from future %}
<form method="GET" action="{% url 'item-detail' pk=item.pk %}">
<input type="text" name="pk">
</form>
以下是docs。