Как использовать href в цикле в Django? - PullRequest
0 голосов
/ 08 июля 2019

Я хочу создать боковую панель, в которую я хочу добавить различные ссылки. Мой запрос заключается в том, что идентификаторы, если hrefs одинаковы, но имена разные. Как

127.0.0.1: 8000/1 / Австрия

127.0.0.1: 8000/1 / Америка

Я хочу отослать каждую ссылку к другой ссылке. Возможно ли использовать цикл? Если да, скажите, пожалуйста, как?

Вот код

views.py

def details(request,item_id):
    item=get_object_or_404(Item,pk=item_id)
    clients=Client.objects.all()
    return render(request,'details.html',{'item':item,'clients':clients}) 

template.html

<div>
<h1 style="text-align: center">Products</h1>
<div class="container-fluid d-none d-xl-block" style="width: 17%;height: 1400px;float: left;background-color: lavender">
<ul style="list-style: none;" class="form-control" id="client">
{% for client in clients %}
<li class="btn btn-block btn-responsive"  style="background-color: #daad86;color: white;width: 250px;height:50px;margin-top: 10px"><a href="{{ client.place }}">{{ client.place }}</a></li>
{% endfor %}
</ul>
</div>

url.py

path('<int:item_id>/',views.details,name='details'),

Заранее спасибо

1 Ответ

0 голосов
/ 08 июля 2019

В вашем файле url.py вам просто нужно добавить еще одну переменную после '/':

url.py

path('<int:item_id>/<str:place>',views.details,name='details'),

Затем просто добавьте / 1 / в вашем a теге в файле template.html:

template.html

{% for client in clients %}
<li class="btn btn-block btn-responsive"  style="background-color: #daad86;color: white;width: 250px;height:50px;margin-top: 10px"><a href="/1/{{ client.place }}">{{ client.place }}</a></li>
{% endfor %}

Далееизмените свою бизнес-логику в views.py:

views.py

def details(request,item_id, place_name):
    item=get_object_or_404(Item,pk=item_id)
    clients=Client.objects.all()
    return render(request,'details.html',{'item':item,'clients':clients}) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...