为什么python-django项目中的admin url的css没有加载?

时间:2017-04-30 13:23:33

标签: python css django static admin

我是python&的新手Django的。我已经学会了两者的基本知识,并创建了一个名为 PythonDjangoDemo 的简单项目。我在开发期间访问过管理员网址。但是我无法在python-django项目中为admin 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

让我们来看看settings.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 的含义是什么?

4 个答案:

答案 0 :(得分:0)

您的css正在加载正常,因为您可以看到没有错误。

查看this了解详情。

此外,您的媒体文件夹应与静态文件夹处于同一级别。

答案 1 :(得分:0)

你应该将static_cdn文件夹与media_cdn文件夹并行放置。

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

答案 2 :(得分:0)

是的,我得到了问题的解决方案。虽然一切正常,但浏览器的控制台显示 -

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".
  

python built in server not loading css讨论了这个问题。

     

我在CSS not loading wrong MIME type Django获得了解决方案。

答案 3 :(得分:0)

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但它仍然无效。 直到我清除了我的BROWSER CACHE。