如何在Django中创建相关链接泛型(如注释/标签)

时间:2009-09-29 18:23:29

标签: django django-forms django-generic-views

由于我没有找到适用于Django 1.0 / trunk的Related Links应用程序,所以我想创建自己的应用程序。

我想以与评论框架或标签相同的通用方式将“相关链接”附加到模型。

我查看了Content Types documentation,但无法解决(也找不到太多文档)如何使用Generic内联formset - 这是我非常肯定我必须使用的,但是如我错了请纠正我。

我的具体要求是能够将这些“相关链接”与几乎所有模型联系起来,并使表格可以在管理员的 - 我已经登录了某个成员在我的具体情况下添加这些链接的角色。

我考虑过撕开评论应用程序的来源,但我知道它使用了特殊的模板标签等,而我只是不确定这对于这项任务是否过度。

寻找链接,额外文档,甚至可能使用通用内联表单集(在通用视图中)的示例,或者如果我接近错误,以不同的方式解决问题。

编辑:我已使用James Bennett's example of Generic Inlines构建并成功使用管理员中的相关链接。所以真正的问题是:如何在管理员之外使用James的相关链接?

1 个答案:

答案 0 :(得分:3)

您可以使用django.contrib.contenttypes.generic.generic_inlineformset_factory。它与inlineformset_factory具有相同的界面(带有2个附加参数:ct_fieldfk_field,它们可用于指定模型的contenttype的相关字段名称,而不是inlineformset_factoryfk_name)。

inlineformset_factory的文档可在此处找到:

http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#inline-formsets

formsets的文档也很有用。