首页 > 解决方案 > 我的 django html 标签没有显示结果

问题描述

您好,我的 django 标签没有显示结果。我不知道我在哪里犯了错误,因为我是 django python 的新手。如果您想查看更多代码,请告诉我。我使用product_details = Product.objects.get(id=product_id)来查询来自同一模型的对象,并希望使用 html 显示它,其中我使用 django 标签显示它但是它不工作。

模板:

{% extends 'default/base.html' %}
{% block content %}
    <h1>Products Details </h1>
    <p>These are the details of your product, {{ user.username }}</p>
    {% for s in product__details %}
        {{ s.name }}
    {% endfor %}
{% endblock %}

我的观点

from django.shortcuts import render, redirect, get_object_or_404
from .forms import NewPro, Product
from django.contrib.auth.decorators import login_required


@login_required()
def pro(request):
    form = NewPro()
    if request.method == 'POST':
        form = NewPro(request.POST, request.FILES)
        if form.is_valid():
            entry = form.save(commit=False)
            entry.user = request.user
            entry.save()

            return redirect('add_products')

        else:
            form = NewPro()
    return render(request, "default/add_product.html", {'form': form})


@login_required()
def product(request, product_id):
    print(product_id)
    details = get_object_or_404(Product, id=product_id)
    product_details = Product.objects.get(id=product_id)
    print(product_details)
    return render(request, "default/product_details.html", {'details': details, 'product_details': product_details})

标签: djangodjango-modelsdjango-formsdjango-templates

解决方案


您的上下文是 product_details 但循环 product__details 。你应该改变。

{% for s in product_details %}
    {{ s.name }}
{% endfor %}

推荐阅读