我正在尝试按照这些instructions在我的Django项目中启用静态文件。 我有
STATIC_URL = '/static/'
在我的settings.py文件中。我已将'django.contrib.staticfiles',
添加到INSTALLED_APPS = (...)
部分
我创建了一个文件夹mysite/static/mysite
并将我的文件放在那里。但在运行服务器后,我无法访问http://127.0.0.1:8000/static/mysite/style.css
处的文件。
我做错了什么?
答案 0 :(得分:1)
在settings.py
中包括:
import os
settings_dir = os.path.dirname(__file__)
PROJECT_ROOT = os.path.abspath(os.path.dirname(settings_dir))
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static/mysite/'),
)
在你的urls.py
最后包含这些内容:
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
希望它有所帮助。
答案 1 :(得分:0)
我可以建议一些事情要检查:
至少在我的项目中,静态文件夹位于app目录中,而不是项目目录中。例如,mysite/myapp/static/myapp/img.jpg
而不是mysite/static/mysite/img.jpg
。您的项目可能找不到合适的位置。
在链接文件之前,请确保{%load staticfiles%}在您的html模板中。
在html模板中链接文件时,而不是像
<link rel="stylesheet" href="myapp/css/custom.css">
使用
<link rel="stylesheet" href="{% static 'myapp/css/custom.css' %}">
这足以让静态文件在我的项目中运行,而无需修改urls.py或手动设置PROJECT_ROOT或STATICFILES_DIRS。