0

次のように定義されたジェネリック クラス ビューがあります。

class ItemDetailView(DetailView):
    model           = Item
    template_name   = "item_detail.html"

対応する URL パターン

('^/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-detailpkItemDetailView

def get_item_detail(request):
    return reverse('item-detail', kwargs={'pk': request.GET['pk']})
4

1 に答える 1

1

テンプレートを次のように変更します。

{% load url from future %}
<form method="GET" action="{% url 'item-detail' pk=item.pk %}">
    <input type="text" name="pk">
</form>

これに関するドキュメントは次のとおりです。

于 2013-02-17T18:57:21.450 に答える