【发布时间】:2010-11-21 14:39:35
【问题描述】:
我正在为 Django 管理界面创建一些自定义视图,这些视图使用标准更改列表作为临时阶段。这很好用,除了更改列表页面 H1 是“选择要更改的对象”。对于用户将在我的自定义视图中执行的操作,“更改”不是正确的动词。
我找到了控制更改列表页面布局的 django.contrib.admin 模板(change_list.html 和 change_list_results.html),但我找不到提供标题的位置。我猜它是某个地方的视图传入的变量?
我怎样才能用较少误导的东西来覆盖这个文本,例如“选择对象”而不是“选择要更改的对象”?我可以在所有更改列表视图中更改它,而不仅仅是我尝试自定义的特定视图;但如果可能的话,我更喜欢覆盖的解决方案,而不是修改 django.contrib.admin 代码。
更新:我找到了负责更改列表的视图,它是django\contrib\admin\views 中的main.py。第 69 行(Django 1.0)上的变量是 self.title。通过编辑这一行,我已经达到了我想要的结果
self.title = (self.is_popup and ugettext('Select %s') % force_unicode(self.opts.verbose_name) or ugettext('Select %s to change') % force_unicode(self.opts.verbose_name))
阅读
self.title = (self.is_popup and ugettext('Select %s') % force_unicode(self.opts.verbose_name) or ugettext('Select %s') % force_unicode(self.opts.verbose_name))
我仍然很想听听一种更好的方法来实现不涉及破解 django.contrib.admin 代码的相同结果 - 看起来已经有一个选项可以像我一样拥有标题我喜欢它,但我不知道如何触发它?
【问题讨论】:
标签: django django-admin