如何在django中包含项目根目录外部的静态文件

时间:2015-11-10 20:16:28

标签: javascript html django static

我的结构看起来像这样:

  conf/
       my_other_script.js         <-- The file I want to include
    project/
      appname/
        static/ 
          appname/  
            my_script.js <-- current script that I include
        views.py
        ...

  templates/    
    base.html

  settings.py
  views.py

如何在my_other_script.js文件夹中与conf文件夹位于同一级别的HTML中包含project

my_script.js就像这样

<script type='text/javascript' src="{% static 'appname/my_script.js' %}"></script>

我尝试使用../,但没有成功。此外,无法在任何地方找到文档中的任何内容。

有人有想法吗? 提前致谢!

1 个答案:

答案 0 :(得分:1)

STATICFILES_DIRS setting中添加该目录的绝对路径。您可以从settings.py目录计算,只需添加如下变量:

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

然后添加静态文件路径,即:

STATICFILES_DIRS = [os.path.abspath(os.path.join(
        BASE_DIR, '..', 'conf', 'project', 'appname', 'static'))]

在制作中,collectstatic会接受它。

有关详细信息,请查看Django's howto manage static files