【问题标题】:Django 3.1 | Admin page appearance issueDjango 3.1 |管理页面外观问题
【发布时间】:2020-11-26 21:27:02
【问题描述】:

今天我已将 Django 更新到最新版本 3.1。

但由于某种原因,当我登录到管理页面时,我只能看到一个看起来很奇怪的管理页面。

admin.py

谁能帮我出什么问题或者我需要修改什么才能回到原来的管理页面。

提前致谢

【问题讨论】:

    标签: python django django-admin django-3.1


    【解决方案1】:

    在您项目的根urls.py 文件中,只需添加以下代码即可禁用新的侧边栏功能。

    from django.contrib import admin
    
    admin.autodiscover()
    admin.site.enable_nav_sidebar = False
    

    参考:

    1. https://docs.djangoproject.com/en/3.1/releases/3.1/#django-contrib-admin
    2. https://docs.djangoproject.com/en/3.1/ref/contrib/admin/#django.contrib.admin.AdminSite.enable_nav_sidebar

    【讨论】:

    • 感谢您的回复。当我以隐身模式打开时,一切正常。所以我清除了普通浏览器中的所有 cookie、缓存和其他东西,并且工作正常。我真的很喜欢新的侧边栏功能。我想保留它,不想改变。再次感谢。
    • 对于看起来像浏览器缓存问题的情况,无需关闭该功能。
    • 同意 100%,我也喜欢这个新功能,它看起来不错,运行良好;但对于那些反对改变的人来说,这个解决方案只会“关掉它”并以旧的方式显示东西。
    • 该死。这让我发疯了。但是 collectstatic 和清除我的缓存并没有完全解决它。如果我将浏览器窗口的大小调整为较小的宽度,最终会出现正确的表单。这似乎很有用,但实现似乎有一些不足之处.....
    • 它解决了这个问题。我的 django 是 3.1.5。感谢您提供信息。
    【解决方案2】:

    这看起来像是两个问题之一。

    1. 您的浏览器正在缓存旧版本的 CSS / JS,在这种情况下清除您的缓存并重新加载。

    2. 升级后你没有运行./manage.py collectstatic

    从你的评论来看,应该是前者。

    【讨论】:

    • 升级到 django 3.1 后运行 collectstatic 对我有用。
    【解决方案3】:

    您的浏览器正在缓存旧版本的 CSS / JS,在这种情况下清除您的缓存,为此,您需要执行 强制重新加载

    @Tom Carrick,顺便说一句,你是对的。

    要在 Chrome 中强制重新加载,请使用 按住 Ctrl 键并按下重新加载按钮。 Ctrl + F5 也可以

    对于 Mozilla Firefox Ctrl + Shift + R

    用于开发/生产,即。在服务器上 跑吧

    python3 manage.py collectstatic
    

    这将为您带来所有 html 和 css 文件并将其放入您在 settings.py 中定义的静态文件夹中。

    【讨论】:

      【解决方案4】:

      升级 Django 后,边栏出现问题,如上所述。

      清除缓存对我不起作用。运行 collectstatic 也没有。将其添加到 settings.py 中,然后是 collectstatic:

      STATICFILES_FINDERS = [
          'django.contrib.staticfiles.finders.AppDirectoriesFinder',
      ]
      

      【讨论】:

      • 感谢@devdrc。这是唯一对我有用的解决方案。这让我发现我的STATIC_DIRS 中列出的一些目录有过时的文件,这些文件与 django3 管理应用程序的文件冲突(并赢得了胜利)。就我而言,您提出的解决方案帮助我找到了问题,但从 STATICFILES_FINDERS 列表中删除 django.contrib.staticfiles.finders.FileSystemFinder 会产生其他不同的问题。
      【解决方案5】:

      避免浏览器缓存问题的一种方法是使用默认未启用的 Django 的ManifestStaticFilesStorage

      STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
      

      当静态文件的内容发生变化时,文件的 url 也会发生变化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        相关资源
        最近更新 更多