0

私のブログ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)」という行でエラーが発生する

4

2 に答える 2