我有一個簡單的項目,從我的/管理面板創建五個動態類別。使我的類別分別顯示每個相應的內容
models.py:
from django.db import models
from django.template.defaultfilters import slugify
class TimeStampModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class Category(models.Model):
name = models.CharField(max_length=50)
slug = models.SlugField(editable=False)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(Category, self).save(*args, **kwargs)
def __str__(self):
return self.name
這是我的views.py:
from django.shortcuts import render
from django.views.generic import TemplateView, DetailView
from .models import Product, Category
class SingleCatView(TemplateView):
template_name = 'products/single_category.html'
def get_context_data(self, **kwargs):
context = super(SingleCatView, self).get_context_data(**kwargs)
context['products'] = Product.objects.all().order_by('-created')[:6]
context['categories'] = Category.objects.all()
return context
class SingleProView(DetailView):
template_name = 'products/single_product.html'
model = Product
,你看到我的models.py permitme在我的Django管理面板創建自己的類別(現在我有5個類別創建)。我也可以在管理面板中創建「產品」並將其分配給各個類別。
其實我有我的項目適合顯示我的產品在一個簡單的template.html混合在一起,我可以看到所有沒有過濾器。
urls.py
from django.conf.urls import patterns, include, url
from .views import SingleCatView, SingleProView
urlpatterns = patterns('',
url(r'^jbpfamilies/category/$', SingleCatView.as_view(), name='vista_category'),
url(r'^jbpfamilies/category/(?P<pk>\d+)/$', SingleProView.as_view(), name='vista_product'),
)
我的問題是如何讓一個過濾器,允許我到每一個產品隔離與它的相應類別?因此,每個類別的鏈接都會顯示其各自的產品。是這樣的:
<ul>
<li><a href="#">Category1</a></li>
<li><a href="#">Category2</a></li>
<li><a href="#">Category3</a></li>
<li><a href="#">Category4</a></li>
<li><a href="#">Category5</a></li>
</ul>
我將不得不爲每個類別做一個模板?或者我可以使用我的single_category.html所有類別,比如我用我的產品完成的,使用單個模板顯示任何產品(我認爲這是更好的形式)
如果您在我的views.py中看到,類類我有這樣的:
context['products'] = Product.objects.all().order_by('-created')[:6]
我想這是可能的使用Product.objects.filter
,但我不知道我怎麼能實現這個和如何建立我的級聯的網址爲動態類
現在我有一個simple_category.html顯示所有類別的所有產品:
<!-- Start Content -->
<div id="content">
<div class="container">
<div class=" portfolio-page portfolio-4column">
<ul id="portfolio-list" data-animated="fadeIn">
{% for product in products %}
<li>
<img src="{{ product.pimage0.url }}" alt="{{ product.name }}" />
<div class="portfolio-item-content">
<span class="header">{{ product.name }}</span>
<p class="body">{{ product.size }}</p>
</div>
<a href="{% url 'products:vista_product' product.id %}"><i class="more">+</i></a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
<!-- End Content -->
對不起,如果我的問題太大,但我真的很困惑,在這一點上仍然閱讀django文檔。
我發現很難理解你的實際問題是什麼。您是否只需要一個類別列表,並鏈接到一組分類頁面,每個分類頁面都包含該類別的產品? – 2015-03-19 13:01:04
是的,先生,現在我有五個類別在我的管理面板中創建,我只想指定一個允許我在類別之間衝浪的列表,因爲現在我可以在沒有所需順序的簡單模板中看到所有內容。感謝評估! – Jhonny 2015-03-19 13:10:29