一尘不染

Django不提供静态文件

python

我正在使用Django==1.5.5,我的django应用的结构如下

--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

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我尝试使用它为:

    <head>
        <title>My Site</title>
        {% load static from staticfiles %}
        <link rel="stylesheet" href="{% static 'style.css' %}">
    </head>

但是它没有加载mysite.com/static/style.css并给出错误404

我跑去python manage.py collectstatic收集所有静态文件。

为什么要加载CSS文件?是否缺少任何配置?

请提出建议。


阅读 199

收藏
2021-01-20

共1个答案

一尘不染

根据文档正确的方式来加载静态文件是

{% load staticfiles %}
<img src="{% static 'my_app/myexample.jpg' %}" alt="My image"/>

这会工作

2021-01-20