Я смог показать категории для Категория Модель (Мужчина и Женщина). Теперь я хочу сделать переадресацию категории на сайте с подкатегории, где будут показывать подкатегорию с продуктомDjango Категории с подкатегориями
Это мой models.py
class Category(models.Model):
name = models.CharField(max_length=200,
db_index=True)
slug = models.SlugField(max_length=200,
db_index=True)
class Meta:
ordering = ('name',)
verbose_name = 'category'
verbose_name_plural = 'categories'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('shop:product_list_by_category',
args=[self.slug])
class SubcategoryMan(models.Model):
category = models.ForeignKey(Category,
related_name='subcategorymans')
name = models.CharField(max_length=200,
db_index=True)
slug = models.SlugField(max_length=200,
db_index=True)
def __str__(self):
return self.name
class ProductMan(models.Model):
category = models.ForeignKey(SubcategoryMan,
related_name='productsman')
name = models.CharField(max_length=200,
db_index=True)
slug = models.SlugField(max_length=200,
db_index=True)
image = models.ImageField(upload_to='productsman/%Y/%m/%d',
blank=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
stock = models.PositiveIntegerField()
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class Meta:
ordering = ('name',)
index_together = (('id', 'slug'),)
def __str__(self):
return self.name
это мой ciews.py
def product_list(request, category_slug=None):
category = None
categories = Category.objects.all()
products = ProductMan.objects.filter(available=True)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = products.filter(category=category)
return render(request,
'shop/product/list.html',
{'category': category,
'categories': categories,
'products': products})
Этот мой адрес (в магазине приложений)
urlpatterns = [
url(r'^$', views.product_list, name='product_list'),
url(r'^(?P<category_slug>[-\w]+)/$',
views.product_list,
name='product_list_by_category')
]
и это мой ли st.html
{% extends "shop/base.html" %}
{% load static %}
{% block content %}
<ul>
<li>
<a href="{% url 'shop:product_list' %}">Wszystkie</a>
</li>
{% for c in categories %}
<li>
<a href="{{c.get_absolute_url}}">{{c.name}}</a>
</li>
{% endfor %}
</ul>
{% endblock %}
Я знаю, что я должен создать URL и вид на деталь, и показать продукт, но теперь я хочу знать, что я могу сделать, создающую переадресацию на подкатегорию (создать вид и URL?)
Можете ли вы объяснить более подробные, что вам означает «создать переадресацию в подкатегорию»? – trixn
@trixn У меня есть категория Мужчины и женщины. Я хочу, когда я нажму «Переадресация человека» на новый сайт с подкатегорией (футболка, шорты и т. Д.) – KeepItSick