Django href для html
Как я могу сделать ссылку на этот urls.py? Я пытался передать ссылку через все известные мне методы, но они не работают и выдают ошибку
path('category/<slug:gender_slug>/<slug:category_slug>/', views.StuffCategory.as_view(), name='category'),
html:
{% get_genders as genders %}
{% for gender in genders %}
<li>
<!-- First Tier Drop Down -->
<label for="drop-2" class="toggle">Категории <span class="fa fa-angle-down"
aria-hidden="true"></span> </label>
<a href="/">{{ gender }} <span class="fa fa-angle-down" aria-hidden="true"></span></a>
<input type="checkbox" id="drop-2">
<ul>
{% get_categories as categories %}
{% for category in categories %}
<li><a href="/">{{category.name}}</a></li>
{% endfor %}
</ul>
</li>
{% endfor %}
views.py
class StuffCategory(ListView):
model = Stuff
template_name = 'shop/shop.html'
context_object_name = 'stuffs'
def get_queryset(self):
queryset = Stuff.objects.filter(draft=False)
if self.kwargs.get('category_slug'):
queryset = queryset.filter(category__slug=self.kwargs['category_slug'])
if self.kwargs.get('gender_slug'):
queryset = queryset.filter(gender__slug=self.kwargs['gender_slug'])
return queryset
Просто передайте параметры, которые были определены в url, как показано ниже:
<a href="{% url 'category' gender_slug=gender.slug category_slug=category.slug %}">{{category.name}}</a>
Для получения дополнительной информации обратитесь к официальным документам
При попытке получить доступ к ссылке с атрибутом href вы можете просто использовать атрибут name вашего объекта path, который вы определили в urls.py. Вы должны убедиться, что передали все параметры, необходимые объекту path:
Например, для поля редактирования:
<li><a href="{% url 'category' object.pk gender_slug=gender arg %}">
здесь:
category- это имя .
object.pkможет быть первичным ключом объекта, передаваемого в шаблонgender_slug&arg- это дополнительные параметры, которые определяются вашимpathобъектом