У меня проблема с сохранением комментариев для приложения для блога. Я пишу в Django. Ошибка: AttributeError at /blog/123456/ 'comment' object has no attribute 'is_valid'
Django: Форма AttributeError не имеет атрибута 'is_valid'
Мой models.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()
. Может ли кто-нибудь помочь мне понять, что я делаю неправильно?
Что заставляет вас думать, что 'комментарий' является формой? Это модельный объект; вы импортировали его из своего модуля модели. –
@MartijnPieters О, теперь я чувствую себя глупо. У меня создалось впечатление, что модели создают формы. Спасибо что подметил это. Теперь я напишу некоторые формы. – Jeremy