【发布时间】:2020-11-26 21:27:02
【问题描述】:
今天我已将 Django 更新到最新版本 3.1。
但由于某种原因,当我登录到管理页面时,我只能看到一个看起来很奇怪的管理页面。
admin.py
谁能帮我出什么问题或者我需要修改什么才能回到原来的管理页面。
提前致谢
【问题讨论】:
标签: python django django-admin django-3.1
今天我已将 Django 更新到最新版本 3.1。
但由于某种原因,当我登录到管理页面时,我只能看到一个看起来很奇怪的管理页面。
admin.py
谁能帮我出什么问题或者我需要修改什么才能回到原来的管理页面。
提前致谢
【问题讨论】:
标签: python django django-admin django-3.1
在您项目的根urls.py 文件中,只需添加以下代码即可禁用新的侧边栏功能。
from django.contrib import admin
admin.autodiscover()
admin.site.enable_nav_sidebar = False
参考:
【讨论】:
这看起来像是两个问题之一。
您的浏览器正在缓存旧版本的 CSS / JS,在这种情况下清除您的缓存并重新加载。
升级后你没有运行./manage.py collectstatic。
从你的评论来看,应该是前者。
【讨论】:
您的浏览器正在缓存旧版本的 CSS / JS,在这种情况下清除您的缓存,为此,您需要执行 强制重新加载。
@Tom Carrick,顺便说一句,你是对的。
要在 Chrome 中强制重新加载,请使用 按住 Ctrl 键并按下重新加载按钮。 Ctrl + F5 也可以
对于 Mozilla Firefox Ctrl + Shift + R
用于开发/生产,即。在服务器上 跑吧
python3 manage.py collectstatic
这将为您带来所有 html 和 css 文件并将其放入您在 settings.py 中定义的静态文件夹中。
【讨论】:
升级 Django 后,边栏出现问题,如上所述。
清除缓存对我不起作用。运行 collectstatic 也没有。将其添加到 settings.py 中,然后是 collectstatic:
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
【讨论】:
STATIC_DIRS 中列出的一些目录有过时的文件,这些文件与 django3 管理应用程序的文件冲突(并赢得了胜利)。就我而言,您提出的解决方案帮助我找到了问题,但从 STATICFILES_FINDERS 列表中删除 django.contrib.staticfiles.finders.FileSystemFinder 会产生其他不同的问题。
避免浏览器缓存问题的一种方法是使用默认未启用的 Django 的ManifestStaticFilesStorage:
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
当静态文件的内容发生变化时,文件的 url 也会发生变化。
【讨论】: