回答編集履歴
2
回答を追加
answer
CHANGED
@@ -9,4 +9,25 @@
|
|
9
9
|
|
10
10
|
```html
|
11
11
|
{% url 'app_name:spam' pk=item.pk prefecture_name=prefecture.name %}
|
12
|
+
```
|
13
|
+
|
14
|
+
都道府県でViewを分けたいのであれば、テンプレートタグでURLを取得する方法はどうでしょうか?
|
15
|
+
|
16
|
+
```python
|
17
|
+
# app/templatetags/spam.py
|
18
|
+
from django import template
|
19
|
+
register = template.Library()
|
20
|
+
@register.simple_tag
|
21
|
+
def get_uri(item: Item, prefecture_name: str) -> str:
|
22
|
+
view_name = f'app:{prefecture_name}'
|
23
|
+
return reverse(view_name, kwargs={'pk': item.id,})
|
24
|
+
```
|
25
|
+
|
26
|
+
```html
|
27
|
+
{% load spam %}
|
28
|
+
{% for item in items %}
|
29
|
+
{% for prefecture in prefectures %}
|
30
|
+
<a href="{% get_uri item prefecture %}">{{ item.name }} | {{ prefecture.name }}</a>
|
31
|
+
{% endfor %}
|
32
|
+
{% endfor %}
|
12
33
|
```
|
1
回答の修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
```python
|
4
4
|
# urls.py
|
5
5
|
urlpatterns = [
|
6
|
-
path('item/<int:pk>/<str:
|
6
|
+
path('item/<int:pk>/<str:prefecture_name>/', SpamView.as_view(), name='spam'),
|
7
7
|
]
|
8
8
|
```
|
9
9
|
|