首页 > 解决方案 > 为什么在 django 中尝试使用 for 循环进行迭代时 html 会消失

问题描述

我有一个问题,我有每个产品的类别,所以对于我的 URL,我有引用每个类别的 slug。在我的首页上的href中(HTML粘贴在下面)。我看到,当我加载应用了 for 循环的 HTML 部分时,它会消失。我从来没有遇到过这个。有人知道发生了什么吗?我会在发生这种情况的地方发布相关的 div。如果需要,我可以发布其他代码。谢谢

在这种情况下,缺少立即覆盖按钮

Edsure\apps\core\templates\frontpage.html
{% extends 'base.html' %}
{% block content %}
{% load static %}


<div id="signup">
                {% for category in menu_categories %}
                <a class="btn btn-lg col-sm-12 slideanim" id="title" href="{% url 'category_detail' category.slug %}">
                    Get Covered Now!
                </a>
                {% endfor %}
                <a class="btn btn-lg col-sm-12 slideanim" id="title" href="#">
                    Learn More!
                </a>
            </div>

Edsure\apps\core\views.py
from django.shortcuts import render
from apps.store.models import Product

def frontpage(request):
    return render(request, 'frontpage.html')

Edsure\apps\store\views.py
from django.shortcuts import render, get_object_or_404
from .models import Product, Category

def product_detail(request,category_slug, slug):
    product = get_object_or_404(Product, slug=slug)

    context = {
        'product': product
    }

    return render(request, 'product_detail.html', context)

def category_detail(request, slug):
    category = get_object_or_404(category, slug=slug)
    products = category.products.all()

    context = {
        'category': category,
        'products': products
    }
    return render(request,'category_detail.html', context)

标签: htmldjangodjango-viewsdjango-templates

解决方案


因此,在您看来,您没有名为“menu_categories”而是“category”的上下文,请尝试以下操作:

 {% for c in category %}
            <a class="btn btn-lg col-sm-12 slideanim" id="title" href="{% url 'category_detail' c.slug %}">
                Get Covered Now!
            </a>
            {% endfor %}

推荐阅读