小编Jen*_*n Z的帖子

Alter Django管理员更改列表标题文本

我正在为使用标准更改列表作为临时阶段的Django管理界面创建一些自定义视图.除了更改列表页面H1是"选择要更改的对象"之外,这样工作正常."更改"不是用户在我的自定义视图中执行操作的正确动词.

我找到了控制更改列表页面(change_list.htmlchange_list_results.html)布局的django.contrib.admin模板,但我无法找到标题的提供位置.我猜它是一个视图在某个地方传入的变量?

如何用不那么误导的东西覆盖这个文本,例如"选择对象"而不是"选择要更改的对象"?我可以在所有更改列表视图中更改它,而不仅仅是我正在尝试自定义的特定视图; 但我更喜欢一个覆盖的解决方案,而不是修改django.contrib.admin代码,如果可能的话.

更新:我发现视图负责更改列表,它main.pydjango\contrib\admin\views.变量self.title在第69行(Django 1.0).我通过编辑这一行来实现我正在寻找的结果

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))
Run Code Online (Sandbox Code Playgroud)

阅读

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))
Run Code Online (Sandbox Code Playgroud)

我仍然真的很想听到更好的方法来实现相同的结果,而不涉及黑客攻击django.contrib.admin代码 - 它看起来已经有了一个选项,让我的标题符合我喜欢的方式,但我不确定如何触发它?

django django-admin

8
推荐指数
3
解决办法
6072
查看次数

标签 统计

django ×1

django-admin ×1