django admin - 根据单选按钮的选择,显示不同的字段

时间:2014-10-14 14:05:42

标签: python django django-admin

我想在django admin中做这个很酷的东西

我有一个拥有ImageField的模型。我想要的是我的其他同事能够决定是否要上传图片或只是粘贴图片链接。

喜欢

<radio>: upload           <radio>: link

并且根据选择,相应的字段(模型的imageField)将显示在这些单选按钮下。

我怎样才能在django admin中实现这一目标?

1 个答案:

答案 0 :(得分:1)

您需要在管理表单类中添加其他字段,然后添加一些JavaScript以在页面加载时显示或隐藏相应的字段,并添加事件处理程序以显示要上载或粘贴的字段链接。

这两个字段都需要允许blank=True,然后您需要添加clean()方法以确保填充其中一个字段,然后相应地设置该值。使用两个单独的字段可能会更好。

您可以利用Media内部类轻松地将JavaScript添加到页面,而无需更改该应用的change_form.html模板。请查看:https://docs.djangoproject.com/en/1.7/topics/forms/media/,了解如何向表单添加自定义CSS和JavaScript。