在我的管理页面中,我有2个应用。一个用于类别,另一个用于产品。
在类别中,我有PS3和PS4,以及产品..我...我有产品。
我想要做的是显示该类别的所有产品。我该怎么做?在我的html页面上,我有一个菜单栏:Home,PS3和PS4。当有人点击PS3或PS4标签时,我希望它显示每个标签的产品,而不是创建一个单独的类别页面和详细信息页面。
在我的数据库中,我有以下类别的字段:名称。在产品中,我有以下字段:标题,描述,图像,价格,库存。
我让所有页面都正常工作,但我只需要显示产品。我希望我很清楚。我不能做到这一点。我会展示我的代码..
MODELS.PY ..
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=30)
class Meta:
ordering = ["name"]
def __str__(self):
return self.name
class Products(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=128)
description = models.TextField()
stock = models.IntegerField()
price = models.DecimalField(max_digits=6, decimal_places=2)
image = models.ImageField(upload_to="product_images", blank=True)
class Meta:
ordering = ["title", "description", "image", "price", "stock"]
def __str__(self):
return self.title
在我看来.PY ......
from django.shortcuts import render, render_to_response, RequestContext
from django.http import HttpResponse
from category.models import *
def home(request):
return render_to_response("category/index.html",locals(),context_instance=RequestContext(request))
def ps3(request):
return render_to_response("category/ps3.html",locals(),context_instance=RequestContext(request))
def ps4(request):
return render_to_response("category/ps4.html",locals(),context_instance=RequestContext(request))
在我的URLS.PY ..
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', 'category.views.home', name='home'),
url('^ps3/', 'category.views.ps3', name ='ps3'),
url('^ps4/', 'category.views.ps4', name ='ps4'),
url(r'^admin/', include(admin.site.urls)),
)
答案 0 :(得分:0)
context_instance
参数是这里的重要部分,正如您所看到的,它是RequestContext
类,此类将request
作为其第一个参数,您可以在第二个参数中将您想要的任何数据作为字典传递:
c = RequestContext(request, {
'foo': 'bar',
})
您需要使用此功能,以传递要在模板中使用的数据。 请学习不要重复自己(干),并将其应用到您的URL /视图中。