【问题标题】:Django: detail is not showing and no errorDjango:细节没有显示,也没有错误
【发布时间】:2014-09-27 06:54:52
【问题描述】:

实际上我正在尝试获取产品详细信息,但是当我转到 127.0.0.1:8000/mobiles/motorola-moto-g-16gb 时,它正在加载模板,但没有显示任何内容,甚至没有显示任何错误。

注意:“mobiles”是 url 中的类别,其余是产品模型中的 slug,您可以向下查看。

models.py

from django.db import models
from django.utils.text import slugify

class Category(models.Model):
   name = models.CharField(max_length=128, unique=True)

def __unicode__(self):
    return self.name


class Product(models.Model):
    title = models.CharField(max_length=140)
    slug = models.SlugField(null = True, blank = True)
    imgurl = models.CharField(max_length=500)
    price = models.CharField(max_length=100)
    category = models.ForeignKey(Category)

    def save(self, *args, **kwargs):
         if not self.id:
            self.slug = slugify(self.title)
    super(Product, self).save(*args, **kwargs)

def __unicode__(self):
    return self.title

views.py

from django.shortcuts import render_to_response, get_object_or_404, Http404
from django.template import RequestContext
from cat.models import Category, Product 

def detail(request, slug, category_name_url):
try:
    category = Category.objects.get(name=category_name_url)
    product = Product.objects.get(slug=slug)

except Product.DoesNotExist:
    raise Http404

return render_to_response('product/detail.html', {'product': product, 'category_name': category_name_url})

urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from cat import views

urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^(?P<category_name_url>\w+)/$', views.category, name='category'),
url(r'^(?P<category_name_url>\w+)/(?P<slug>[-\w]+)$', views.detail , name='detail'),
)

product/detail.html

<h1>{{ object.title }}</h1>
<p> {{ object.price }}</p>
<img src="{{ object.imgurl }}">

【问题讨论】:

    标签: python django django-templates django-views


    【解决方案1】:

    由于您在上下文中传递“产品”,因此您必须在模板中使用“产品”。

    return render_to_response('product/detail.html', {'product': product, 'category_name': category_name_url})

    所以,模板代码应该是:

    <h1>{{ product.title }}</h1>
    <p> {{ product.price }}</p>
    <img src="{{ product.imgurl }}">
    

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 2017-09-03
      • 2023-03-11
      • 2021-05-27
      • 2020-11-12
      • 2013-12-25
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多