【发布时间】:2020-03-05 16:56:32
【问题描述】:
我是一个 django 初学者,正在尝试构建一个待办事项列表应用程序。我正在创建一个在应用程序中添加新任务的 ModelForm。但是,在尝试保存数据时,什么也没有发生。没有数据被保存,没有错误被显示。
models.py:
class Task(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
description = models.TextField(blank=True, null=True)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
priority = models.BooleanField(default=True)
completed = models.BooleanField(default=False)
def __str__(self):
return self.title
模型形式:
class TaskForm(forms.ModelForm):
class Meta:
model = Task
fields = ('title', 'description', 'start_date', 'end_date', 'priority')
views.py:
def task(request):
task = Task.objects.filter(user=request.user, completed=False)
queryset = task.order_by('-start_date')
form = TaskForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
form.instance.user = request.user
form.save()
redirect('task:task-list')
else:
print('error')
context = {
'task': queryset,
'form': form,
}
return render(request, 'task-list.html', context)
模板:
<form action="." method="POST">
{% csrf_token %}
{{ form }}
<button type="submit">Add task</button>
</form>
任何帮助将不胜感激!
【问题讨论】:
-
您的表单是否通过了验证?
标签: django django-models django-forms