Django静态文件 - CSS文件无法加载

时间:2017-05-09 19:34:50

标签: python django

我正在学习Django,并且正在尝试加载静态css文件。 我已经看过其他问题并阅读了文档,但我仍然无法看到问题。 我正在使用Django 1.11。

这是我的urls.py:

from django.conf.urls import url 
from django.contrib import admin

from django.conf import settings
from django.conf.urls.static import static

from . import views

urlpatterns = [ 
    url(r'^$', views.index),
    url(r'^admin/', admin.site.urls),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

我的settings.py(仅与静态文件有关的部分):

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

STATICFILES_DIRS = ( 
    STATIC_ROOT,        
)

我尝试加载文件的模板部分:     {%load static%}                    

每当我加载index.html模板时,我的控制台都会显示以下错误消息:

core.js:5 Uncaught ReferenceError: define is not defined
    at core.js:5
localhost/:12 GET http://localhost:8000/static/css/homepage.css 
localhost/:11 GET http://localhost:8000/static/css/horz-navbar.css 
localhost/:10 GET http://localhost:8000/static/css/fonts.css 
localhost/:13 GET http://localhost:8000/static/css/style.css 

这是文件目录结构:

mysite
  db.sqlite3
  manage.py
  mysite
    __init__.py
    settings.py
    urls.py
    views.py
    wsgi.py
  static
    admin
    css
      fonts.css
      horz-navbar.css
      homepage.css
      style.css
  templates
    index.html

所以Django似乎没有意识到文件存在,我已经检查并确保我的计算机上存在文件,我不确定是否需要这些文件,但我也运行{{1} }

如果您需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:2)

"{% static "css/fonts.css" %}"替换为"{% static 'css/fonts.css' %}"。报价之间存在不匹配。

答案 1 :(得分:2)

将您的STATIC_ROOT更改为其他名称,然后更新STATICFILES_DIR。像这样:

STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)