МодельФорма с несколькими значениями не реагирует

Итак, я столкнулся с этой проблемой с 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.

Вернуться на верх