【问题标题】:Django Static Files - CSS File Won't LoadDjango 静态文件 - CSS 文件不会加载
【发布时间】:2017-10-08 06:35:28
【问题描述】:

我正在学习 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,        
)

以及我尝试加载文件的模板部分: {% 加载静态 %}

每当我加载 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 似乎无法识别文件存在,我已经检查并确保文件存在于我的计算机上,我不确定是否需要这样做,但我也运行了 python manage.py collectstatic

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

【问题讨论】:

  • 你的问题中也可以粘贴文件目录结构吗?
  • 我添加了目录结构

标签: python django


【解决方案1】:

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

【讨论】:

  • 我已经这样做了,但文件仍然无法加载。我得到了同样的错误。
【解决方案2】:

将您的STATIC_ROOT 更改为另一个名称,然后更新您的STATICFILES_DIR。像这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-30
    • 2020-12-30
    • 2020-08-31
    • 2019-02-23
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 2017-11-08
    相关资源
    最近更新 更多