Python 在创建django模型时,它会发布数据,但不会将其保存在数据库中

Python 在创建django模型时,它会发布数据,但不会将其保存在数据库中,python,django,django-forms,django-views,Python,Django,Django Forms,Django Views,我可以通过管理面板创建模型对象。但我希望它是在网站上创建的。下面的代码允许我输入模型的值,当我提交它时,它会重定向到写入的url,这发生在form.save之后。这是来自服务器“POST/taskcreate HTTP/1.1”302 0的消息。但数据库中没有任何更改。如何解决这个问题?任何想法。。。谢谢 models.py class Task(models.Model): name = models.CharField(max_length=200) description

我可以通过管理面板创建模型对象。但我希望它是在网站上创建的。下面的代码允许我输入模型的值,当我提交它时,它会重定向到写入的url,这发生在
form.save
之后。这是来自服务器“POST/taskcreate HTTP/1.1”302 0的消息。但数据库中没有任何更改。如何解决这个问题?任何想法。。。谢谢

models.py

class Task(models.Model):
    name = models.CharField(max_length=200)
    description = models.CharField(max_length=1000)
    pub_date = models.DateTimeField('date_published', auto_now_add = True)
    cost = models.IntegerField()
    def __str__(self):
        return '%s' % (self.name)
forms.py

class TaskCreateForm(forms.ModelForm):
    class Meta:
        model = Task
        fields = ('name', 'description', 'cost')
views.py

def TaskCreateView(request):
    if request.method == 'POST':
        form = TaskCreateForm(request.POST)
        if form.is_valid():
            form.save
            return redirect('home')
    else:
        form = TaskCreateForm()
    return render(request, 'employer/create_task.html')
您实际上没有调用save方法

if form.is_valid(): form.save() return redirect('home') 如果form.is_有效(): form.save() 返回重定向('home')
使用ModelForm时,只需在
if是有效的()之后编写
form.save()
方法。在您的情况下,保存后将缺少花括号

def TaskCreateView(request):
    if request.method == 'POST':
        form = TaskCreateForm(request.POST)
        if form.is_valid():
            form.save() # here you were missing curly brackets
            return redirect('home')
    else:
        form = TaskCreateForm()
    return render(request, 'employer/create_task.html')

你能出示你的html表单吗?你确定你的表单通过了
有效检查吗?