ModelForm不会创建模型实例

时间:2016-08-05 19:06:24

标签: python django django-forms

我正在尝试在我的Django站点中创建一个前端表单,允许用户向我的SQL数据库添加条目。

但是当我使用表单时,我的数据库中没有任何反应。我做错了什么?

我认为正确的方法是使用ModelForm技术。

我的模特看起来像这样:

static_cast<int>(std::numeric_limits<float>::infinity() )

所以我在 forms.py

中写了这个
class Actor(models.Model):
    name = models.CharField(max_length=200)
    wage = models.IntegerField(default=3100)

    def __str__(self):
        return self.name

然后我将其添加到我的 views.py

from django import forms
from .models import Actor

class ActorForm(forms.ModelForm):
     class Meta:
        model = Actor
        fields = ['name', 'wage']
form = ActorForm()

这是一个名为 actors.html

的模板
def get_actor(request):
    if request.method == 'POST':
        form = ActorForm(request.POST)
        if form.is_valid():
            return HttpResponseRedirect('/scenes/thanks/')
    else:
        form = ActorForm()

    return render(request, 'scenes/actor.html', {'form': form})

def thanks(request):
    return render(request, 'scenes/thanks.html',)

1 个答案:

答案 0 :(得分:0)

您必须在检查其有效后调用模型表格save()方法:

def get_actor(request):
    if request.method == 'POST':
        form = ActorForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/scenes/thanks/')
    else:
        form = ActorForm()

    return render(request, 'scenes/actor.html', {'form': form})