如果你觉得 默认的 Django Admin 界面还不错,或者对 UI 没有什么要求,想使用默认的 Django Admin,那就需要对 模版简单的修改了。

问题

django 版本:2.2.5

Django Admin 默认的首页由于有个 width 600px 的css 导致内容居左,即使对UI没有要求也不能这样,很不理解这个宽度设定。

图片[1]-Django Admin 宽度 600px-技术鸭(jishuya.cn)

默认就长这个样子,base.css 中对 #content 设置了 宽度为 600 像素。

.dashboard #content {
    width: 600px;
}

解决办法

修改 base.html 模版,尝试了 css 覆盖,强制覆盖,都没生效,最后直接在 div 上加了样式:

base.html

<div class=colMS>
<div class=colMS style=width:auto;>

图片[2]-Django Admin 宽度 600px-技术鸭(jishuya.cn)

Tips

base.html 所在目录:

/Users/defpy/.local/share/virtualenvs/project-eAiDX/lib/python3.7/site-packages/django/contrib/admin/templates/admin

不建议直接修改这个文件,你应该拷贝这个文件到工程目录,采用模版覆盖到方式来实现修改,保证工程在哪里的环境都能正常运行。

具体做法如下:

  • 创建一个扩展 admin 的 app,例如 extadmin,你也可以不创建,使用你已有的 app
  • app 中创建 templates/admin 目录,拷贝 base.html 到这里然后根据直接到需要修改。

既然模版有覆盖的机制,那只要你想就能实现。

© 版权声明
评论 抢沙发

请登录后发表评论