我正在使用Django==1.5.5,我的django应用的结构如下
Django==1.5.5
--project/ ----project/ ------settings.py ------urls.py ----app1/ ------models.py ------views.py ----staticfiles/ ------style.css ----static/ ------admin/ --------js/ --------css/ ------style.css ----templates/ ------header.html ------post.html ------footer.html ----manage.py
的/project/settings.py是
/project/settings.py
import os DEBUG = False TEMPLATE_DEBUG = DEBUG PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..') ALLOWED_HOSTS = ['localhost', '127.0.0.1'] MEDIA_ROOT = '' MEDIA_URL = '' SITE_ROOT = PROJECT_ROOT STATIC_ROOT = os.path.join(SITE_ROOT, 'static') STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(SITE_ROOT, 'staticfiles'), ) TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates'), )
在header.html我尝试使用它为:
header.html
<head> <title>My Site</title> {% load static from staticfiles %} <link rel="stylesheet" href="{% static 'style.css' %}"> </head>
但是它没有加载mysite.com/static/style.css并给出错误404
mysite.com/static/style.css
404
我跑去python manage.py collectstatic收集所有静态文件。
python manage.py collectstatic
为什么要加载CSS文件?是否缺少任何配置?
请提出建议。
根据文档正确的方式来加载静态文件是
{% load staticfiles %} <img src="{% static 'my_app/myexample.jpg' %}" alt="My image"/>
这会工作