МодельФорма с несколькими значениями не реагирует
Итак, я столкнулся с этой проблемой с Django и ModelForms. Все загружается как ожидалось, но когда я пытаюсь отправить данные, нажимая Enter, ничего не происходит.
models.py
class Drinks(models.Model):
name = models.CharField(max_length=50)
number = models.DecimalField(decimal_places=2, max_digits=2000)
def __str__(self):
return self.name
forms.py (я пробовал со списком и кортежем)
class DrinksForm(forms.ModelForm):
class Meta:
model = Drinks
fields = [
'name',
'number'
]
views.py
def DrinksView(request):
form = DrinksForm(request.POST or None)
if form.is_valid():
print("VALIDATION COMPLETE")
form.save()
form = DrinksForm()
return render (request, 'form2.html', { 'form' : form })
template.html
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
</form>
admin.py
from django.contrib import admin
from .models import Drinks
admin.site.register(Drinks)
Я сделал все необходимые миграции. Есть идеи, что я делаю неправильно?
В вашей форме нет кнопки отправки:
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" />
</form>
Вместо этого рассмотрим следующее:
def new_drink_view(request):
if request.method == "POST":
form = DrinksForm(request.POST)
# check if valid
# ...
else:
form = DrinksForm()
return render (request, 'form2.html', { 'form' : form })
Убедитесь, что импортировали форму DrinksForm.