由于我还没有找到适用于 Django 1.0/trunk 的相关链接应用程序,因此我希望创建自己的应用程序。
我想以与评论框架或标签工作相同的通用方式将“相关链接”附加到模型。
我查看了 Content Types documentation但无法理解(也找不到太多文档)如何使用通用内联表单集 - 这是我很确定我必须使用的,但如果我错了,请纠正我。
我的具体要求是能够将这些“相关链接”与几乎任何模型相关联,并让表单在管理员之外可用 - 我将登录某个特定的成员在我的具体情况下,添加这些链接的角色。
我考虑过深入研究评论应用程序的源代码,但我知道它使用特殊的模板标签等,我只是不确定这对于这项任务是否太过分了。
寻找链接、额外文档,甚至可能是使用通用内联表单集(在通用 View 中)的示例,或者如果我处理错误,则以不同的方式解决问题。
编辑:我用过James Bennett's example of Generic Inlines在管理中构建并成功使用这些相关链接。所以真正的问题是:如何在管理员之外使用 James 的相关链接?
最佳答案
您可以使用 django.contrib.contenttypes.generic.generic_inlineformset_factory 来实现此目的。它与 inlineformset_factory
具有相同的接口(interface)(有 2 个附加参数:ct_field
和 fk_field
,它们可用于指定模型的 contenttype 的相关字段名称而不是 inlineformset_factory
的 fk_name
)。
可以在此处找到 inlineformset_factory
的文档:
http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#inline-formsets
formsets 的文档也很有用。
关于django - 如何在 Django 中创建通用相关链接(如评论/标签),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494151/