前提・実現したいこと
- DjangoでWebサイトを作成しています。
- HTML上に下記のようなurl(単一のパラメーター)を出力させたい時は、
html
1<a href="example/item/1/">Item1</a> 2<a href="example/item/2/">Item2</a> 3<a href="example/item/3/">Item3</a>
urls.py上で、
python
1# urls.py 2urlpatterns = [ 3 path('item/<pk>/', ItemDetailView.as_view(), name='item_detail'), 4]
と書き、テンプレート上で、
html
1<!--テンプレート--> 2{% for item in items %} 3 <a href="{% url 'item:item_detail' item.pk %}">item.name</a> 4{% end for %}
のように書けば良いと思います。
- 一方で、HTML上に下記のような複数のパラメーターが混在するurlを出力させたい時はどうしたら良いでしょうか?
html
1<!--出力されたHTML--> 2<a href="example/item/1/howtouse/">Item1 | 使い方</a> 3<a href="example/item/1/function/">Item1 | 機能</a> 4<a href="example/item/1/specification/">Item1 | 仕様</a> 5<a href="example/item/2/howtouse/">Item2 | 使い方</a> 6<a href="example/item/2/function/">Item2 | 機能</a> 7<a href="example/item/2/specification/">Item2 | 仕様</a> 8<a href="example/item/3/howtouse/">Item3 | 使い方</a> 9<a href="example/item/3/function/">Item3 | 機能</a> 10<a href="example/item/3/specification/">Item3 | 仕様</a>
考えたコード
python
1urls.pyは下記のような感じで良いと思います。 2# urls.py 3urlpatterns = [ 4 path('item/<pk>/tokyo/', TokyoView.as_view(), name='tokyo'), 5 path('item/<pk>/nagoya/', NagoyaView.as_view(), name='nagoya'), 6 path('item/<pk>/osaka/', OsakaView.as_view(), name='osaka'), 7]
上記の通り、nameがそれぞれ違うので、テンプレートに記載するname(××××の部分)をどうしたら良いかが分かりません。
html
1<!--テンプレート--> 2{% for item in items %} 3 {% for prefecture in prefectures %} 4 <a href="{% url 'item:××××' item.pk prefecture.name %}">item.name | prefecture.name</a> 5 {% endfor %} 6{% endfor %}
複数のパラメーターの組み合わせがある場合、どのようにしてテンプレートに機動的に組み込んだらよいのでしょうか。
お分かりの方、ご教示頂ければ幸いです。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー