在模板中加载静态文件

时间:2014-12-08 08:36:13

标签: django

我是Django的新手,我正在尝试将静态文件放在我的网站中,但我无法这样做。当浏览器尝试获取我的静态文件时,我得到404

我不确定Django找到这些静态文件的最佳做法或正确方法

以下是我的项目结构图:

enter image description here

这是我的settings.py:

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

在我的index.html中,我有一行:

<link href="{{ STATIC_URL }}boothie.css" rel="stylesheet">
<script src="{{ STATIC_URL }}boothie.js"></script>
<script src="{{ STATIC_URL }}jquery.js.1.3.js"></script>

2 个答案:

答案 0 :(得分:1)

static_url会给出相对路径......

您可能必须包含

<link href="{% static "css/boothie.css" %}" rel="stylesheet">

答案 1 :(得分:1)

我认为这样可行:

{% load staticfiles %}

<link href="{% static "css/boothie.css" %}" rel="stylesheet">
<script src="{% static "js/boothie.js" %}"></script>
<script src="{% static "js/jquery.js.1.3.js" %}"></script>

请参阅:Configuring static files

编辑:

您可以使用以下结构维护属于home应用的静态文件:

home/
    static/
        css/
        images/
        js/

在部署时,您可以将STATIC_ROOT设置为您要为这些静态文件提供服务的位置,然后运行python manage.py collectstatic,django会将您的静态文件复制到STATIC_ROOT目录中,您可以维护静态文件更容易(在单个目录中)而无需更改代码。