【问题标题】:CommentForm design question about Django-comments package关于 Django-comments 包的 CommentForm 设计问题
【发布时间】:2021-09-10 03:59:01
【问题描述】:

在 Django 自己的评论框架中,django-contrib-comments,下面定义了class

  1. models.py 中,定义了class Comment (CommentAbstractModel):

  2. forms.py 中,定义了class CommentForm (CommentDetailsForm):

问:既然评论框架是一个comment-db-table驱动的包,我们为什么不使用ModelForm从模型创建表单,而不是冗余地创建另一个CommentForm类?

【问题讨论】:

    标签: django django-models django-forms django-comments


    【解决方案1】:

    CommentDetailsForm 类继承自 CommentSecurityForm,它定义了各种 util 方法并执行自定义验证。这些表单还声明了Comment 模型中不包含的字段。是的,可以用ModelForm代替Form,但我认为这个决定并没有错,因为这些表单需要特定的行为,ModelForm会节省一些代码行(不多),但实际实现更加明确。不必将ModelForm 与模型一起使用。

    【讨论】:

      猜你喜欢
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多