2015-11-10 2 views
0

Моя структура выглядит likte это:Как включить статические файлы из вне корня проекта в Джанго

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 в HTML, который находится в папке conf на том же уровне, что и папка project ,

my_script.js работает как это

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

Я попытался с ../ но didnt't работы. Кроме того, в документах ничего не найти.

Любая идея? Спасибо заранее!

ответ

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.

+0

awesome thnkas, теперь я, наконец, тоже понял эту часть :) – Tom

+0

Попробуйте [сохранившиеся статические файлы] (http://blog.yourlabs.org/post/30382323418/surviving-djangocontribstaticfiles-or-how-to) статью тоже. – jpic

Смежные вопросы