【发布时间】:2012-08-17 12:43:42
【问题描述】:
我个人认为 Django 内置的用于 ManyToManyField 关系的小部件不是特别好。尤其是当它在 iPad 上使用时,小部件既不直观也不实用(您没有按住 ctrl 按钮来进行多选)。
所以我现在正在与这个问题作斗争一周,试图用包含每个下拉列表的表单制作一个表单集。
我的attempts实现了上面的解决方案,至今也无果。
所以我认为现在是退后一步并询问社区的好时机: 你会在我的鞋子里做什么?如果给您这样的要求,您将如何替换 M2M 小部件?我有什么选择?
我刚刚根据这个question on Stackoverflow 发现了管理 M2M 小部件。
django.contrib.admin.widgets.FilteredSelectMultiple
它有点大而且不是很漂亮,但可以胜任。 我找到了这个tutorial 并遵循了每一步。但该小部件仍显示为普通的 M2M 小部件,而不是管理小部件。 css 和 js 已正确加载(未显示 404),但仍显示旧的小部件。
非常感谢,
【问题讨论】:
-
我认为你应该试试这个 library 与
django-chosen集成。 -
@rafek 这确实是我祈祷的答案。非常感谢分享这个。我已经通过 PIP 成功安装了
django-chosen扩展,但是当我尝试导入from chosen import forms as chosenforms时会引发错误。它没有看到它。知道为什么吗?该文档未提及任何其他设置步骤。 -
@rafek 我有一些好消息。我最终直接使用了选择的 jquery,它就像一个魅力。昨晚晚些时候,我终于与 django-chosen 的某个人取得了联系。无论出于何种原因,都不要按照他们在文档中建议的方式安装它,因为它对我不起作用:
$ pip install -e git+git://github.com/theatlantic/django-chosen.git#egg=django-chosen。我试了三遍都没有运气。然而,简单的pip install django-chosen立即为我工作。我不是 PIP 专家,不知道为什么。无论如何,请将此作为答案,我将其勾选。非常感谢!! -
我很高兴您发现这很有帮助。我通常将库作为
django-chosen直接包含到我的项目中。它可以帮助避免版本控制问题等。最好的解决方案是对我认为的每个项目使用 virtualenv。
标签: django django-orm