gpt4 book ai didi

python - Django: AttributeError 表单没有属性 'is_valid'

转载 作者:行者123 更新时间:2023-11-28 17:46:28 26 4
gpt4 key购买 nike

我在为我用 Django 编写的博客应用程序保存评论时遇到问题。错误是:AttributeError at/blog/123456/'comment' object has no attribute 'is_valid'

我的模型.py:

from django.db import models

class comment(models.Model):
comID = models.CharField(max_length=10, primary_key=True)
postID = models.ForeignKey(post)
user = models.CharField(max_length=100)
comment = models.TextField()
pub_date = models.DateTimeField(auto_now=True)

views.py:

from django.http import HttpResponse
from django.shortcuts import render
from django.template import RequestContext, loader
from django.db.models import Count
from blog.models import post, comment
from site.helpers import helpers

def detail(request, post_id):
if request.method == 'POST':
form = comment(request.POST)
if form.is_valid():
com = form.save(commit=False)
com.postID = post_id
com.comID = helpers.id_generator()
com.user = request.user.username
com.save()
return HttpResponseRedirect('/blog/'+post_id+"/")
else:
blog_post = post.objects.get(postID__exact=post_id)
comments = comment.objects.filter(postID__exact=post_id)
form = comment()
context = RequestContext(request, {
'post': blog_post,
'comments': comments,
'form': form,
})
return render(request, 'blog/post.html', context)

我不确定问题出在哪里,根据我一直在查看的教程/示例,form 应该具有属性 is_valid()。有人可以帮助我了解我做错了什么吗?

最佳答案

comment 是一个模型。 is_valid 方法存在于表单中。我想你想做的是创建一个 ModelForm 用于这样的评论:

from django import forms
from blog.models import comment

class CommentForm(forms.ModelForm):
class Meta:
model=comment

并使用CommentForm作为comment类的IO接口(interface)。

您可以了解更多关于 ModelForms at the docs 的信息

希望这对您有所帮助!

关于python - Django: AttributeError 表单没有属性 'is_valid',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com