Django ModelForm不保存任何数据

Django ModelForm不保存任何数据,django,django-models,django-forms,Django,Django Models,Django Forms,我是一个django初学者,正在尝试构建一个待办事项列表应用程序。我正在创建一个在应用程序中添加新任务的模型表单。但是,在尝试保存数据时,什么都没有发生。未保存任何数据,也未显示任何错误 models.py: class Task(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) title = models.CharFi

我是一个django初学者,正在尝试构建一个待办事项列表应用程序。我正在创建一个在应用程序中添加新任务的模型表单。但是,在尝试保存数据时,什么都没有发生。未保存任何数据,也未显示任何错误

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>

任何帮助都将不胜感激

你有没有试着更明确一点

def task(request):
    task = Task.objects.filter(user=request.user, completed=False)
    queryset = task.order_by('-start_date')
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.instance.user = request.user
            form.save()
            return redirect('task:task-list')
    else:
        form = TaskForm()

    context = {
        'task': queryset,
        'form': form,
    }

    return render(request, 'task-list.html', context)

你的表格通过验证了吗?谢谢,它成功了!然而,你能告诉我为什么动作“.”不起作用吗?这是我第一次看到动作=。。我相信action=将表单提交到当前URL,但我可能错了。
<form action="{% url 'task-list' %}" method="POST">
        {% csrf_token %}
        {{ form }}
        <button type="submit">Add task</button>
 </form>