django – 必须使用对象pk或slug调用通用详细信息视图

我尝试访问产品型号的详细信息页面时收到该错误.我在url文件中有slug字段,但似乎并不重要. 模型 class Product(models.Model): product_name= models.CharField(max_length=30, blank=False, null=False, verbose_name=the product name) product_

我尝试访问产品型号的详细信息页面时收到该错误.我在url文件中有slug字段,但似乎并不重要.

模型

class Product(models.Model):
    product_name= models.CharField(max_length=30,blank=False,null=False,verbose_name="the product name")
    product_slug= models.SlugField(max_length=30,verbose_name="the product slug")
    product_excerpt= models.CharField(max_length=100,verbose_name="product excerpt")
    def _set_product_code(self):
        product_code_temp = hashlib.sha224()
        product_hash = self.product_name
        product_hash = product_hash.encode('utf-8')
        product_code_temp.update(product_hash)
        return product_code_temp.hexdigest()[0:5]
product_code = property(_set_product_code)

视图

class ProductPage(DetailView):
    model = Product
    context_object_name = 'product'
    template_name="product.html"

网址

url(r'^product/(?P<product_slug>\w+)/(?P<product_code>\w+)/$',ProductPage.as_view(),name="product"),

任何人都可以查明我做错了什么吗?

解决方法

在视图类上设置slug_field属性:

class ProductPage(DetailView):
    model = Product
    slug_field = 'product_slug'
    # etc

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部