【问题标题】:CSS is not loading in Django Admin Panel App? [duplicate]CSS 没有加载到 Django 管理面板应用程序中? [复制]
【发布时间】:2021-11-18 20:59:45
【问题描述】:

我已经创建了我的第一个 Django 项目,但是在管理面板中,当我运行 http://127.0.0.1:8000/admin/ 时,CSS 文件没有加载,我还创建了一个新的 Django 应用程序,但仍然出现同样的错误,我也访问过这个问题但我的问题没有解决:Django admin site not showing CSS style

看起来像这样:

我可以登录了:

应该是这样的:

settings.py

import os

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('products/', include('products.urls'))
]

注意:我在 settings.py 中使用了STATIC_ROOT = os.path.join(BASE_DIR, 'static'),也运行了命令python manage.py collectstatic,但还是得到了同样的结果。

【问题讨论】:

  • 如果你在开发./manage.py runserver,你是否在urls.py 中使用了` + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)` 和docs.djangoproject.com/en/3.2/howto/static-files/… 一样?
  • 也许python manage.py collectstatic 会有所帮助
  • @sunil ghimire 我用过,但对我没有帮助
  • 显示你的项目urls.py文件代码你需要在那里导入django settings并定义静态文件查询!
  • @Gasanov 我在urls.py 中应用了静态,但还是一样

标签: python css django


【解决方案1】:

假设您在settings.py 中有DEBUG=False,您需要手动提供静态文件。请注意,不推荐用于生产 - 您应该使用 Web 服务器(例如 nginx 上的 apache)提供静态文件。另请注意,如果您有DEBUG=True,django 会自动执行此操作。

urls.py:

import re

from django.urls import re_path
from django.conf import settings
from django.views.static import serve

urlpatterns = [
    ...
    re_path(r'^%s(?P<path>.*)$' % re.escape(settings.STATIC_URL.lstrip('/')), serve, {"document_root": settings.STATIC_ROOT}),
]

【讨论】:

  • 不工作,我使用了你的代码,它没有帮助我。
  • @HedayatullahSarwary 但是你的DEBUG=False是吗?
  • 当我转动DEBUG=Falsepython manage.py runserver 停止?
【解决方案2】:

试试这个可能会有帮助

from django.conf.urls import url
from django.views.static import serve
from django.conf.urls.static import static
from django.conf import settings


    url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
    url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),
]
if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

或者如果它仍然不适合你 设置调试=假 在创建静态 cdn 文件夹后,将你的本地主机路径粘贴到允许的主机部分,然后告诉我们它是否仍然没有加载管理 css

【讨论】:

  • 也请尝试从浏览器中删除所有缓存
【解决方案3】:

谢谢各位,我在setting.py 文件中添加了以下内容,现在可以正常工作了:

import mimetypes
mimetypes.add_type("text/css", ".css", True)

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多