django.contrib.comments和多个评论表格

时间:2012-07-01 07:39:09

标签: django

我按照https://docs.djangoproject.com/en/dev/ref/contrib/comments/custom/上的指南为我当前的django应用设置了新闻条目的评论表单。现在,我需要在站点的另一部分中为另一种类型的Object提供具有不同字段的注释表单。

考虑到我已经覆盖了联系表格,应如何实现?

1 个答案:

答案 0 :(得分:0)

这是个好问题; django似乎非常坚持你在任何地方都使用相同的评论形式。你可以写一个单独的表单,根据它实例化的对象显示不同的字段。尝试按照以下方式编写 init 方法:

class CustomCommentForm(CommentForm):
    custom_field = forms.CharField(max_length=100)

    def __init__(self, *args, **kwargs):
        super(CustomCommentForm, self).__init__(*args, **kwargs)

        # check what's in kwargs['initial'], and insert fields if needed like this:   
        if ...:
            self.fields['optional_field'] = forms.CharField(max_length=100)