私のブログmodels.pyは
class Blog(models.Model):
title = models.CharField('Title', max_length=200)
text = models.TextField('Text', max_length=2048)
date = models.DateTimeField('Last Modified')
def __unicode__(self):
return '%s' % (self.title)
私のviews.pyでは、モデルフィールドをフォームフィールドに変換してからデータを追加しようとしています。次のviews.pyコードでは、タイトルとテキストのみを要求するページを取得します...
class BlogForm(ModelForm):
class Meta:
model = Blog
fields=('title', 'text')
def add_blog(request, pID='0'):
bf = BlogForm()
message = 'Unknown Request'
p = get_object_or_404(Person, pk=pID)
if request.method == 'GET':
message = 'Add Blog for %s ' % p.name
if request.method == 'POST':
if request.POST['submit'] == 'Add':
SaveForm = BlogForm(instance=p)
bf = BlogForm(request.POST.copy())
postDict = request.POST.copy()
postDict['date'] = datetime.datetime.now()
save_bf = SaveForm(postDict)
if save_bf.is_valid():
try:
bObj = save_bf.save()
p.blogs.add(bObj)
p.save()
message = 'Blog added to %s.' % p.name
except:
message = 'Database Error.'
else:
message = 'Invalid data in Form.'
return render_to_response(
'people/add_blog_form.html',{'bForm': bf,'message':message})
「しかし、データを提出した後、次のエラーが発生します」
/Blog/AddBlogForm/1/ の TypeError
'BlogForm' オブジェクトは呼び出し可能ではありません
リクエスト方法: POST Django バージョン: 1.4.1 例外タイプ: TypeError 例外値: 'BlogForm' オブジェクトは呼び出し可能ではありません
「save_bf = SaveForm(postDict)」という行でエラーが発生する