我正在学习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} }
如果您需要更多信息,请告诉我。
答案 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'),
)