gpt4 book ai didi

python - Django 1.6 管理面板自定义

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:26 25 4
gpt4 key购买 nike

现在我正在开发一个反馈应用程序,

因此,管理员必须查看来自用户的消息,过滤它们(已读/未读)并将它们标记为重要。我已经完成了我需要的所有功能,但我无法自定义标题。例如。更改列表中有一个默认的标题(见截图,这个标题被选中),如何删除这些 header 或自定义它们? Screenshot

提前致谢。

最佳答案

实际上,@mayankTUM 的回答 不是正确的。它不遵循 django design philosophies并且不应该实现(@mayankTUM 自己提到了他的解决方案的问题之一,但是还有很多很多)!

基本上,你需要做的事情overriding the admin templates就可以完成.因为这有一些问题(我稍后会解释),这就是我做了解决你的要求:

  1. 创建了一个名为 admin 的目录在我的 templates文件夹。
  2. 在那里复制了change_list.html模板来自 <django>\contrib\admin\templates\admin\change_list.html .
  3. 将以下内容添加到新的 change_list.html 的末尾: {% block content_title %}Hello world!{% endblock %}

现在,它将打印“Hello world!”,而不是“Select ... to change”

我必须注意复制整个 change_list.html不是 DRY - 如果我只是创建文件,让它从 admin/change_list.html 扩展,那就更好了并添加 content_title .然而,这是行不通的,将导致无限递归(请查看此错误报告 https://code.djangoproject.com/ticket/15053)——这就是我之前提到的问题。在以下问题中讨论了复制整个模板的更好解决方案:

Django: Overriding AND extending an app templateHow to override and extend basic Django admin templates?django override admin template

PS:我的TEMPLATE_DIRSTEMPLATE_LOADERS项目设置是这些:

TEMPLATE_DIRS = (
PROJECT_PATH.child('templates'),
)

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)

关于python - Django 1.6 管理面板自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com