为什么python-django项目中的管理URL的CSS没有加载



我是Python&Django。我已经学到了两者的基础,并制作了一个简单的项目,称为 pythondjangodemo 。在开发过程中,我访问了管理URL。但是我无法在Python-Django项目中为管理URL加载CSS。首先,让我们看一下项目结构。我有 -

PythonDjangoDemo
  |--- PythonDjangoDemo
  |      |--- __init__.py
  |      |--- settings.py
  |      |--- urls.py
  |      |--- wsgi.py
  |--- static_cdn
  |      |--- admin
  |      |      |--- css
  |      |      |      |---base.css
  |      |      |      |---login.css
  |      |      |--- fonts
  |      |      |--- img
  |      |      |--- js
  |--- media_cdn
  |--- templates
  |--- manage.py
  |--- db.sqlite3

让我们看一下设置.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
... ... ...
STATIC_URL = '/static/'
MEDIA_URL = "/media/"
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")

我已经将所有CSS放在" static_cdn/admin/css"上。当我尝试访问" 127.0.0.1:800/admin"时,我没有任何错误。这是控制台输出 -

[30/Apr/2017 16:04:58] "GET /admin/ HTTP/1.1" 302 0
[30/Apr/2017 16:04:59] "GET /admin/login/?next=/admin/ HTTP/1.1" 200 1650
[30/Apr/2017 16:04:59] "GET /static/admin/css/base.css HTTP/1.1" 200 16066
[30/Apr/2017 16:04:59] "GET /static/admin/css/login.css HTTP/1.1" 200 1203
Not Found: /favicon.ico
[30/Apr/2017 16:04:59] "GET /favicon.ico HTTP/1.1" 404 2329

您能解释一下

  • 与控制台响应相比,发生了什么问题(这不是错误(?
  • static_url static_root
  • 的含义是什么。

是的,我得到了解决问题的方法。虽然一切都很好,但是浏览器的控制台显示 -

Resource interpreted as Stylesheet but transferred with MIME type application/x-css: "http://localhost:8000/static/admin/css/base.css". 
Resource interpreted as Stylesheet but transferred with MIME type application/x-css: "http://localhost:8000/static/admin/css/login.css".

在内置的服务器内置讨论了问题。

我在CSS上找到了解决方案,没有加载错误的MIME类型Django。

您应该将static_cdn文件夹并行与Media_cdn文件夹并行。

然后清除缓存和加载管理页面。

您的CSS加载正常,因为您看到没有错误。

检查此详细信息。

您的媒体文件夹也应与静态文件夹相同。

STATIC_URL = '/static/'
STATIC_ROOT =  os.path.join(BASE_DIR, "static", "static")
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static", "static-only"),

我将静态文件放在上面,并在我的Django基本目录中创建它。之后,我运行了django manage.py collectstatic。然后运行django manage.py runserver,但仍然没有用。直到我清除浏览器缓存。

最新更新