django-modelform无法绑定帖子数据

时间:2013-12-30 06:26:25

标签: django django-forms

我遇到django modelform

的问题

这是模型:

class Comment(models.Model):
    username=models.CharField(max_length=50)
    email=models.EmailField()
    content=models.TextField()

    def __unicode__(self):
        return unicode(self.username)

这里是modelForm:

class CommentForm(ModelForm):
    class Meta:
        model=Comment

在视图中:

def comment(request):
    response = HttpResponse()   

    f = CommentForm(request.POST)
    if f.is_valid():
        comment = f.save(commit=False)
        response.write("1")
    else:
        response.write("0")

return response

模板中的表单:

<form action="/comment/add/" method="post">
    {% csrf_token %}
    <p>Username: <input type="text" name="username"></p>
    <p>Your e-mail: <input type="text" name="email"></p>
    <p>Content: <textarea name="content" rows="10" cols="50"></textarea></p>
    <input type="submit" value="Submit">
</form>

问题是f.is_valid()总是False。 但如果我定义这样的字典:

data={
        'username':'test',
        'email':'test@test.com',
        'content':'test comment'
    }

并将其放入模型形式:f = CommentForm(data)之后,f.is_valid()将为True 我不知道为什么,有人帮助我吗?

1 个答案:

答案 0 :(得分:0)

确保method="POST"标记中包含<form>属性。并确保将{% csrf_token %}放在表单中。