ModelForm 验证失败
Validation fails on ModelForm
NOTE/UPDATE: 这个问题是由拼写错误引起的:(
您好,我正在尝试自学 Django,同时制作一个小型任务管理应用程序。
我有模特
class Task(models.Model):
track = models.ForeignKey(Track, on_delete=models.SET_NULL, null=True)
title = models.CharField(max_length=100)
description = models.CharField(max_length=265, blank=True)
done = models.BooleanField(default=False)
def __str__(self):
return self.title
和相关的 ModelForm
class TaskForm(forms.ModelForm):
class Meta:
model = Task
fields = ['track', 'title', 'description', 'done']
表单发布后 taskForm.is_valid() 返回 False。
这是post_task方法:
def post_task(request):
form = TaskForm(request.POST)
if form.is_valid():
form.save(commit=True)
else:
print(form.errors)
return HttpResponseRedirect('/')
和页面上的表单标签:
<form action="post_url" mehod="post">
{% csrf_token %}
{{ task_form.as_p }}
<input type="submit" value="Add"/>
</form>
尽管我已经填写了所有数据,但我收到验证错误,这是控制台打印:
<ul class="errorlist"><li>track<ul class="errorlist"><li>This field is required.</li></ul></li><li>title<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
请求中已传递所有值:
[23/Apr/2017 12:34:38] "GET /post_url/?csrfmiddlewaretoken=VqUx3EM9yGFzS88kYRtTWtniaCV8ZukxymylPILlxHBohtfEyhD3epOKOjKNIVCU&track=1&title=testTitle&description=testDescription HTTP/1.1" 302 0
谢谢!
出现拼写错误mehod
<form action="post_url" mehod="post">
将此更改为
<form action="post_url" method="post">
NOTE/UPDATE: 这个问题是由拼写错误引起的:(
您好,我正在尝试自学 Django,同时制作一个小型任务管理应用程序。
我有模特
class Task(models.Model):
track = models.ForeignKey(Track, on_delete=models.SET_NULL, null=True)
title = models.CharField(max_length=100)
description = models.CharField(max_length=265, blank=True)
done = models.BooleanField(default=False)
def __str__(self):
return self.title
和相关的 ModelForm
class TaskForm(forms.ModelForm):
class Meta:
model = Task
fields = ['track', 'title', 'description', 'done']
表单发布后 taskForm.is_valid() 返回 False。 这是post_task方法:
def post_task(request):
form = TaskForm(request.POST)
if form.is_valid():
form.save(commit=True)
else:
print(form.errors)
return HttpResponseRedirect('/')
和页面上的表单标签:
<form action="post_url" mehod="post">
{% csrf_token %}
{{ task_form.as_p }}
<input type="submit" value="Add"/>
</form>
尽管我已经填写了所有数据,但我收到验证错误,这是控制台打印:
<ul class="errorlist"><li>track<ul class="errorlist"><li>This field is required.</li></ul></li><li>title<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
请求中已传递所有值:
[23/Apr/2017 12:34:38] "GET /post_url/?csrfmiddlewaretoken=VqUx3EM9yGFzS88kYRtTWtniaCV8ZukxymylPILlxHBohtfEyhD3epOKOjKNIVCU&track=1&title=testTitle&description=testDescription HTTP/1.1" 302 0
谢谢!
出现拼写错误mehod
<form action="post_url" mehod="post">
将此更改为
<form action="post_url" method="post">