【问题标题】:How to include static files from outside the project root in django如何在 django 中包含来自项目根目录之外的静态文件
【发布时间】:2015-11-10 20:16:28
【问题描述】:

我的结构看起来像这样:

  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

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

my_script.js 是这样工作的

&lt;script type='text/javascript' src="{% static 'appname/my_script.js' %}"&gt;&lt;/script&gt;

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

任何人的想法? 提前致谢!

【问题讨论】:

    标签: javascript html django static


    【解决方案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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多