Ребята, я новичок в Django, но я немного разбираюсь в нескольких вещах. Мне нужна помощь с URL. Таким образом, в моем models.py я определил категорию, подкатегорию и модель продукта, и все эти поля моделей получили слагфилд. Мне также удалось определить URL страницы индекса и ее работу, но после страницы индекса я хочу, когда пользователь нажимает на ссылку категории, он сможет видеть подкатегории, которые находятся под категориями, и когда пользователь нажимает на подкатегории, он может смотреть продукты в подкатегории. Так, например, я хотел бы создать URL-адрес, такой как www.127.0000/electronics, electronics - это категория , и под электроникой пользователь сможет видеть подкатегории like телевизоры, микроволновые печи ... когда пользователь нажимает на ссылку телевизора, URL будет www.127.0000/electronics/tvs, и на этой странице пользователь увидит продукты. Это мой models.py
class Category(models.Model):
name= models.CharField(max_length=100)
slug= models.SlugField(max_length= 100, unique= True)
class Meta:
ordering = ('name',)
verbose_name= 'category'
verbose_name_plural= 'categories'
def __str__(self):
return self.name
class SubCategory (models.Model):
name = models.CharField(max_length= 200)
slug = models.SlugField (max_length= 200, unique= True)
category= models.ForeignKey(Category, on_delete= models.CASCADE)
class Meta:
ordering = ('name',)
verbose_name= "SubCategory"
verbose_name_plural= 'SubCategories'
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=250)
slug = models.SlugField(max_length=250)
price = models.DecimalField(max_digits=10 , decimal_places=2)
image = models.ImageField(max_length=20, blank= True)
subcategory = models.ForeignKey(SubCategory, on_delete= models.CASCADE)
class Meta:
ordering = ('name',)
verbose_name= 'product'
verbose_name_plural = 'products'
def __str__(self):
return self.name
, и это URL моего приложения
urlpatterns= [
path('', views.index, name='Index'),
path('<slug:category_slug>/', views.category, name= 'Categories' )
views.py file
def index (request):
""""Defines homepage"""
return render (request, 'index.html')
def category (request, category_slug):
"""Defines categories slug"""
categories= get_object_or_404(Category, slug=category_slug)
context= {'categories': categories}
return render (request, 'category.html', context}
это моя категория html gile
{% extends 'base.html' %}
{% block content %}
<p>
<ul>
{% for category in categories %}
<li> {{category}} </li>
{% empty %}
<li> No Category has been added yet</li>
{% endfor %}
</ul>
</p>
{% endblock content %}
Не могли бы вы указать правильное направление, чтобы при нажатии на www.127.0000/clothes я видел подкатегории в одежде, а при нажатии и в подкатегориях URL-адрес изменялся на 127.000 / одежда / мужская одежда и показ продуктов в подкатегории мужской одежды.