Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 图像显示在一个模板中,但不显示在另一个模板中_Django_Django Templates - Fatal编程技术网

Django 图像显示在一个模板中,但不显示在另一个模板中

Django 图像显示在一个模板中,但不显示在另一个模板中,django,django-templates,Django,Django Templates,我正在尝试创建一个有两个页面的应用程序,一个是常规页面,一个是查看详细信息页面。 在这两个页面中,我都需要产品的图像。在“常规”视图中,会显示图像,但不会显示在“详细信息”页面中。 这是我的详细信息html页面: <div class="span4"> <h2>{{ prod.name }}</h2><br> <img alt="" src="{{ STATIC_URL }}{{prod.image}}"></a&

我正在尝试创建一个有两个页面的应用程序,一个是常规页面,一个是查看详细信息页面。 在这两个页面中,我都需要产品的图像。在“常规”视图中,会显示图像,但不会显示在“详细信息”页面中。 这是我的详细信息html页面:

<div class="span4">
    <h2>{{ prod.name }}</h2><br>
    <img alt="" src="{{ STATIC_URL }}{{prod.image}}"></a>                                               
</div>
以下是详细模板的视图:

def single_product(request, slug):
    product = get_object_or_404(Product, slug=slug)
    prod = Product.objects.get(slug=slug)
    reviews = Review.objects.get(product=prod.id)
    reviewmatrix = {}
    i = 0
    try:
        for rev in reviews:
            reviewmatrix[str(i)] = [[review.review_text]]
            u = User.objects.get(username=rev.user)
            i = i + 1
    except:
        u = User.objects.get(username=reviews.user)
        reviewmatrix[str(i)] = [[reviews.review_text]]

    return render_to_response('product_detail.html', {'prod':prod, 'reviews':reviews, 'user':u.first_name})
这是常规模板的视图

def home(request):
    if request.user.is_authenticated():
        user = request.user
        prods = Product.objects.all()
        i = 0
        prodmatrix = {}
        for prod in prods:
            #                       0             1           2    3
            prodmatrix[str(i)] = [[prod.name], [prod.image], [], [prod.slug]] 
            review = Review.objects.get(product=prod.id) #   ^ this is for tags 
            for tags in review.tag.all():     #                           
                print tags.name
                prodmatrix[str(i)][2].append(tags.name) # append only tags 
            i = i + 1
        #for prod in prods:
        #    tags = Review.objects.filter(product=prod.id)
        #    for tag in tags:
        #        prodmatrix[str(i)] = [[prod.name], [prod.image], [tag]]
        #    i = i + 1    
        return render(request, 'home.html',{'prodmatrix':prodmatrix, 'prods':prods})
    else:
        products = Product.objects.all()

        return render(request, 'home.html',{'products':products})
        return render(request, 'home.html')

第二个视图使用
render
快捷方式,因此运行上下文处理器,其中包括上下文中的
STATIC\u URL
变量。第一个视图使用旧的
render\u to\u response
快捷方式,默认情况下,该快捷方式不运行上下文处理器。将其更改为使用
渲染

def single_product(request, slug):
    product = get_object_or_404(Product, slug=slug)
    prod = Product.objects.get(slug=slug)
    reviews = Review.objects.get(product=prod.id)
    reviewmatrix = {}
    i = 0
    try:
        for rev in reviews:
            reviewmatrix[str(i)] = [[review.review_text]]
            u = User.objects.get(username=rev.user)
            i = i + 1
    except:
        u = User.objects.get(username=reviews.user)
        reviewmatrix[str(i)] = [[reviews.review_text]]

    return render_to_response('product_detail.html', {'prod':prod, 'reviews':reviews, 'user':u.first_name})
def home(request):
    if request.user.is_authenticated():
        user = request.user
        prods = Product.objects.all()
        i = 0
        prodmatrix = {}
        for prod in prods:
            #                       0             1           2    3
            prodmatrix[str(i)] = [[prod.name], [prod.image], [], [prod.slug]] 
            review = Review.objects.get(product=prod.id) #   ^ this is for tags 
            for tags in review.tag.all():     #                           
                print tags.name
                prodmatrix[str(i)][2].append(tags.name) # append only tags 
            i = i + 1
        #for prod in prods:
        #    tags = Review.objects.filter(product=prod.id)
        #    for tag in tags:
        #        prodmatrix[str(i)] = [[prod.name], [prod.image], [tag]]
        #    i = i + 1    
        return render(request, 'home.html',{'prodmatrix':prodmatrix, 'prods':prods})
    else:
        products = Product.objects.all()

        return render(request, 'home.html',{'products':products})
        return render(request, 'home.html')