【问题标题】:Doing it right in Django - subclassing instead of hacking在 Django 中做对 - 子类化而不是黑客攻击
【发布时间】:2009-07-28 19:04:05
【问题描述】:

我正在使用 threadedcmets 模块,需要进行两项更改: - ThreadedComment 模型上的附加字段 - 表单上的不同字段

我知道答案是子类化,但我不知道该怎么做——代码去哪儿了?

【问题讨论】:

  • 你从哪里得到 threadedcmets 模块?是来自 django.contrib.cmets 吗?
  • 是的,我正在使用 django-threadedcmets,但来自harshh 的链接也同样适用。我已经对模型进行了子类化,只是尝试了表单......
  • 您应该能够以相同的方式对表单进行子类化,并将您的新模块列为 COMMENTS_APP。如果您想使用它,您可能需要重写的唯一另一件事是模板标签。除此之外,应该只需要模型/表格。
  • 不得不对模板标签进行一些更改,但不会太繁琐,因为只使用了一小部分功能。感谢大家的支持。

标签: django subclassing


【解决方案1】:

你的问题并不清楚。我假设您正在谈论扩展 django.contrib.cmets

是的,你必须继承它。创建您自己的应用程序,所有代码(扩展模型、表单、视图等)都在那里。

重要的事情,您不会在 INSTALLED_APPS 列表中添加 django.contrib.cmets,而是添加您的评论应用程序名称(您继承自 django.contrib。 cmets).

你还需要添加

COMMENTS_APP = 'my_comment_app'

到您的 settings.py

这里是非常好的example,因为您可以完全按照自己的意愿去做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多