【问题标题】:ModelForm with multiple values not responsive具有多个值的 ModelForm 没有响应
【发布时间】:2021-12-18 16:27:43
【问题描述】:

所以我在使用 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)

我做了所有必要的迁移。 任何想法我做错了什么?

【问题讨论】:

    标签: python django django-forms modelform


    【解决方案1】:

    您的表单没有提交按钮:

    <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 表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2011-10-24
      相关资源
      最近更新 更多