我想调用 {% for element in element_object %}

I want to call {% for element in element_object %}

感谢您的评论,我以为您解决了问题,但是当我将代码更改为以下时,问题出现了。我怎样才能激活这个代码?我想以下拉格式获取选项值。

            {% for element in element_object %}
            <form method="POST" style="margin-left: 110px;" action="{{product.get_absolute_url}}">
            <div class="form-group row">
                <label for="value_code" class="col-sm-2 col-form-label"><b>옵션</b></label>
                <div class="col-sm-5">
                <select type="text" class="form-control" name="value_code" id="value_code" value={{ form.value_code }}</select>
                </div>
            </div>
            </form>
        </div>
    </div>
{% endfor %}

为了从Forms中接收Value模型的值并显示这个值,html写成如下

model.py

# 옵션값(옵션값코드, 옵션값명, 옵션코드(fk), 상품코드(fk))
class Value(models.Model):
    value_code = models.AutoField(primary_key=True)
    option_code = models.ForeignKey(Option, on_delete=models.CASCADE, db_column='option_code')
    product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code')
    name = models.CharField(max_length=32)

    def __str__(self):
        return self.name

views.py

from django.shortcuts import get_object_or_404

from django.shortcuts import render

from zeronine.forms import ElementForm
from zeronine.models import *

def product_in_category(request, category_slug=None):
    current_category = None
    categories = Category.objects.all()
    products = Product.objects.all()

    if category_slug:
        current_category = get_object_or_404(Category, slug=category_slug)
        products = products.filter(category_code=current_category)

    return render(request, 'zeronine/list.html', {'current_category': current_category,
                                                  'categories':categories,
                                                  'products':products})

def product_detail(request, id, product_slug=None):
    current_category = None
    categories = Category.objects.all()
    products = Product.objects.all()
    product = get_object_or_404(Product, product_code=id, slug=product_slug)
    designated_object = Designated.objects.filter(rep_price='True')
    element_object = Element.objects.all()

    return render(request, 'zeronine/detail.html', {'product':product,
                                                    'products':products,
                                                    'current_category': current_category,
                                                    'categories':categories,
                                                    'designated_object': designated_object,
                                                    'element':element_object})

detail.html

{% extends 'base.html' %}
{% block title %} 상품 상세보기 {% endblock %}
{% block content %}

<div class="container">
    <div class="row">
        <div class="col-4">
        <img src="{{product.image.url}}" width="190%" style="margin-top: 100px;">
    </div>
        <div class="text-center col" style="margin-top:150px; margin-left:200px;">
            <b><h4 class="content" style="margin-bottom: -5px;"><b>{{product.name}}</b></h4></b>
            <br>

                    <div>
<!--                        <span>주최자 : <b>{{ product.username }}</b></span><br>-->
                        <span style="color: #111111">모집기간 : <b>{{ product.start_date }} ~ {{ product.due_date }}</b></span>
                    </div>
                    <hr style="margin-top: 30px; margin-bottom: 30px;">

            <p><span class="badge badge-dark">가격</span>
            {% load humanize %}
                 {% for designated in designated_object %}
                        {% if designated.product_code.product_code == product.product_code %}
                            {{designated.price | floatformat:'0' | intcomma }}원
                        {% endif %}
                    {% endfor %}</p>


            <span class="badge badge-dark">목표금액</span> {{ product.target_price | floatformat:'0' | intcomma }}원 <br><br>

            <p class="badge badge-dark">공동구매 취지
                {{product.benefit|linebreaks}}</p>
            <p class="badge badge-dark">상세설명
                {{product.detail|linebreaks}}</p>

            <p><span class="badge badge-dark">가격</span>
            {% load humanize %}
                
                 {% for element in element_object %}

                {{ element.value_code }}
                    {% endfor %}</p>


            </form>
        </div>
    </div>
</div>

{% endblock %}

Forms.py

from django import forms

from zeronine.models import *

class ElementForm(forms.Form):
    value_code = forms.ModelChoiceField(error_messages={'required': "옵션을 선택하세요."}, label="옵션", queryset=Value.objects.all())

看起来变量名 element 被传递给模板而不是 element_object。尝试替换此行:

'element':element_object})

有了这个:

'element_object':element_object})

对于下拉菜单,我想这就是你想要的:

            <form method="POST" style="margin-left: 110px;" action="{{product.get_absolute_url}}">
            <div class="form-group row">
                <label for="value_code" class="col-sm-2 col-form-label"><b>옵션</b></label>
                <div class="col-sm-5">
                    <select type="text" class="form-control" name="value_code" id="value_code">
                        {% for element in element_object %}
                            <option value="{{element.value_code}}">{{element.name}}</option>
                        {% endfor %}
                    </select>
                </div>
            </div>
            </form>
        </div>
    </div>

我不确定 element 是否具有 name 属性,因此请将该部分替换为您希望用户在下拉列表中看到的任何内容。