Django 管理员,隐藏+加号到特定的外键字段
我想在 django-admin 界面中隐藏特定模型的一些外键字段中的加号 + 号。有可能吗?
提前致谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想在 django-admin 界面中隐藏特定模型的一些外键字段中的加号 + 号。有可能吗?
提前致谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
当该外键的模型也可以添加到管理员中时,就会添加
+
,并且基于用户对该模型拥有的权限。如果用户无法添加这些类型的模型,请覆盖外键ModelAdmin
上的has_add_permission
(即加号允许您添加的模型),并在适当的条件下返回 False。对于任何不允许的用户,+
将会消失。The
+
is added when that foreign key's model can also be added in the admin, and is based on the permissions the user has on that model. If the user shouldn't be able to add those types of models, overridehas_add_permission
on the foreign key'sModelAdmin
(i.e. the one the plus sign would allow you to add), and return False for the appropriate conditions. The+
will go away for any user not allowed.如果您只是为了美观目的而隐藏它,我会使用隐藏此“+”符号的 Javascript 脚本。
您可以使用 Media 内部类将自定义 Javascript 源添加到管理模型表单,如 文档。像这样的东西:
Javascript 源看起来像这样:
另一方面,如果那些管理员用户永远无法添加这样的模型,请不要授予他们添加这些模型的权限。那么这些添加的链接将永远不会显示。
If you just want to hide it for cosmetic purpose, I'd use a Javascript script that hides this '+' sign.
You can add custom Javascript sources to Admin Modelform's by using the Media inner class, as described in the docs. Something like this:
The Javascript source would look something like:
On the other hand, if those admin users should never be able to add such a model, don't give them the permission to add those. Then these add links will never be displayed.
不妨在 CSS 中做到这一点:
或者在所有地方禁用它:
Might as well do it in CSS:
Or to disable it everywhere: