django - 如何在 Django 中创建通用相关链接(如评论/标签)

标签 django django-forms django-generic-views

由于我还没有找到适用于 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_fieldfk_field,它们可用于指定模型的 contenttype 的相关字段名称而不是 inlineformset_factoryfk_name)。

可以在此处找到 inlineformset_factory 的文档:

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

formsets 的文档也很有用。

关于django - 如何在 Django 中创建通用相关链接(如评论/标签),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494151/

相关文章:

python - Django - 在 CreateView 中更改发布数据

python - 记录未显示在模板中

django - 无反向匹配 : in the password reset form in Django-registration?

python - 管理 Django 中的错误有困难 - NoReverseMatch at

django - 在MacOS 10.15上安装Psycopg2 python 3.7时出错

python - Django 和 S3 直接上传

python - 如何预填充 Django ModelForm 字段

python - 如何在 Django 表单中插入复选框

django - 属性错误 : myview has no attribute object in custom mixin in Django

django: DetailView: self.object 从方法 post 调用时会引发错误,但从方法 get_context_data 调用时它确实有效