我想调用 {% 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
属性,因此请将该部分替换为您希望用户在下拉列表中看到的任何内容。
感谢您的评论,我以为您解决了问题,但是当我将代码更改为以下时,问题出现了。我怎样才能激活这个代码?我想以下拉格式获取选项值。
{% 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
属性,因此请将该部分替换为您希望用户在下拉列表中看到的任何内容。