Python 在创建django模型时,它会发布数据,但不会将其保存在数据库中
我可以通过管理面板创建模型对象。但我希望它是在网站上创建的。下面的代码允许我输入模型的值,当我提交它时,它会重定向到写入的url,这发生在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
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表单吗?你确定你的表单通过了有效检查吗?