#python #html #django #view #model
Вопрос:
Я делаю сайт с подсчетом калорий в продуктах, поэтому мне нужно выполнить это действие. У меня есть разные объекты продуктов, и для каждого — разное значение в поле «калории на 100 грамм». Что на самом деле мне нужно сделать, так это получить от пользователя значение того, сколько граммов продукта он хочет, а затем умножить его на мое значение из базы данных и разделить на 100, но без сохранения. Это мой код:
views.py:
class CurrentProductView(FormView):
template_name = "cur_product.html"
form_class = ProductForm
success_url = reverse_lazy("product")
def form_valid(self, form):
obj = form.save(commit=False)
calc_value = (obj.cur_weight * obj.calories) / 100
return HttpResponse(calc_value)
forms.py:
class ProductForm(forms.ModelForm):
cur_weight = forms.IntegerField()
class Meta:
model = Product
fields = ["calories"]
models.py:
class Product(models.Model):
name = models.CharField(max_length=100)
calories = models.PositiveIntegerField() #calories per 100 gram
description = models.TextField(max_length=100, blank=True, null=True)
image = models.ImageField(blank=True, null=True)
HTML:
{% block content %}
<form method="post">
{% csrf_token %}
{{ form.cur_weight }}
<input type="submit" value="Count">
</form>
{% endblock %}
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.