django中的动态URL路由在每个URL上显示“项目”

时间:2019-02-21 12:19:12

标签: django url dynamic routing

views.py

from django.shortcuts import render,get_object_or_404
from .models import Product
from .forms import ProductForm, RawProductForm


def dynamic_lookup_view(request,id):
    object=get_object_or_404(Product,id=id)
    context = {
        'object': object
    }
    return render (request,"products/product_detail.html",context)

product_detail.html

{% extends 'base.html' %}
{% block content  %}
  <p>
    {{object.title}},{{object.price}},{{object.description}}
  </p>
{% endblock %}

urls.py

path('products/<int:id>/',dynamic_lookup_view,name='product'),

models.py

from django.db import models


class Product(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField(blank=True, null=True)
    price = models.DecimalField(decimal_places=2, max_digits=10000, 
    blank=True, null=True)
    summary = models.TextField(blank=True, null=True)
    featured = models.BooleanField(default=True)

base.html

<!DOCTYPE html>
<html>
<head>
    <title>hello</title>
</head>
<body> 


{% block content %}

replace me!

{% endblock %}

</body>
</html>
  

以上是我的模特   应用名称为“ Products”,带有3个产品对象(在管理面板中)django 2.1.7   请帮我,我尝试了一切,并搜索了大量有关此bt相同问题的信息。   在浏览器网址中更改产品ID时,它会在   每个产品网址,而不是单个产品数据。

this output is coming for each product

project dir screenshot

1 个答案:

答案 0 :(得分:0)

问题解决了,这是我的错误,实际上是由于我的应用程序外部的模板名称相同而导致模板被覆盖。抱歉,非常感谢您的光临。