#django #django-models #django-rest-framework #django-views #django-templates
Вопрос:
Я хочу импортировать приведенный ниже код с помощью тега шаблона. Я хотел бы написать код для продукта, у которого есть опция, и продукта, у которого ее нет. «Если у вас нет возможности, запустите следующий код». Как мне написать это условие?
views.py
option_object = Option.objects.all()
value_object = Value.objects.all()
product = get_object_or_404(Product, product_code=id, slug=product_slug)
Models.py
class Product(models.Model):
product_code = models.AutoField(primary_key=True)
username = models.ForeignKey(Member, on_delete=models.CASCADE, db_column='username')
category_code = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True, related_name='products')
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, db_index=True, unique=False, allow_unicode=True)
image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
benefit = models.TextField()
detail = models.TextField()
target_price = models.IntegerField()
start_date = models.DateField()
due_date = models.DateField()
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['product_code']
index_together = [['product_code', 'slug']]
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('zeronine:product_detail', args=[self.product_code, self.slug])
ordering = ['photo_code']
class Option(models.Model):
option_code = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code')
def __str__(self):
return self.name
class Meta:
ordering = ['option_code']
class Value(models.Model):
value_code = models.AutoField(primary_key=True)
option_code = models.ForeignKey(Option, on_delete=models.CASCADE, db_column='option_code', null=True)
product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code', null=True)
name = models.CharField(max_length=32, null=True)
extra_cost = models.IntegerField(null=True)
def __str__(self):
return self.name
class Meta:
ordering = ['value_code']
Я хотел бы загрузить приведенный ниже код только в том случае, если это продукт без опций. {% для продукта в продуктах %}
Я написал много кода, такого как { % , если не опция %} и так далее, но он выглядит не так, как я хочу.
HTML
<form method="POST" action="{% url 'zeronine:join_create' id=product.product_code %}">
<div class="form-group row" style="margin-top: -5px">
<label for="optionSelect2" class="col-sm-6 col-form-label"><b>옵션</b></label>
<div class="col-sm-6" style="margin-left: -90px;">
<select type="text" class="form-control" id="optionSelect2">
<option value="none">옵션을 선택하세요.</option>
<option>옵션없음</option>
</optgroup>
</select>
</div>
</div>