关于Django-comments包的CommentForm设计问题
CommentForm design question about Django-comments package
在Django自带的注释框架django-contrib-comments中,class
定义如下:
在models.py
中定义了class Comment (CommentAbstractModel):
。
在forms.py
中定义了class CommentForm (CommentDetailsForm):
。
问:既然评论框架是comment-db-table驱动的包,为什么我们不使用ModelForm
从模型创建表单,而不是冗余地创建另一个CommentForm
class ?
classCommentDetailsForm
继承自CommentSecurityForm
,它定义了各种util方法并执行自定义验证。这些表单还声明了 Comment
模型中未包含的字段。是的,可以使用 ModelForm
而不是 Form
,但我认为这个决定并没有错,因为这些表单需要特定的行为,ModelForm
会节省一些代码行(不是很多),但实际实现更为明确。对模型使用 ModelForm
不是必须的。
在Django自带的注释框架django-contrib-comments中,class
定义如下:
在
models.py
中定义了class Comment (CommentAbstractModel):
。在
forms.py
中定义了class CommentForm (CommentDetailsForm):
。
问:既然评论框架是comment-db-table驱动的包,为什么我们不使用ModelForm
从模型创建表单,而不是冗余地创建另一个CommentForm
class ?
classCommentDetailsForm
继承自CommentSecurityForm
,它定义了各种util方法并执行自定义验证。这些表单还声明了 Comment
模型中未包含的字段。是的,可以使用 ModelForm
而不是 Form
,但我认为这个决定并没有错,因为这些表单需要特定的行为,ModelForm
会节省一些代码行(不是很多),但实际实现更为明确。对模型使用 ModelForm
不是必须的。