2015-07-17 3 views
0

У меня есть шаблон, где мне нужно получить доступ к каталогу на основе полей пользователя.Django Template Variables в статическом пути

код выглядит следующим образом:

{% with user.client.company as company %} 
{% static 'uploads/{{ company }}' as files %} 
{% endwith %} 

Я также попытался:

{% static 'uploads/{% user.client.company %}' as files %} 

Как я могу добиться этого? Я хочу, чтобы имя папки равного user.client.company, но сейчас я получаю сообщение об ошибке, как:

Invalid блок тег: «статический», ожидаемые «ENDWITH» для первого и

Invalid блока тег: «статический» для второго

Очевидно, что я делаю это неправильно. Любая помощь приветствуется.

Было указано, что я должен использовать носители, а не статические. Но даже в этом случае я не уверен, как динамически устанавливать путь на основе параметров пользователя.

+0

Вам нужно '{% load staticfiles%}' вверху? – jcfollower

+1

Почему вы храните файлы пользователя в статике? Почему не СМИ? –

+0

Спасибо, что много я нашел – shenk

ответ

1

не забудьте загрузить статику!

{% load staticfiles %} 
+0

Я добавил загрузку staticfiles, и это помогло, но я все равно получаю сообщение об ошибке. – shenk

+0

Я смог использовать '{% with '{{MEDIA_ROOT}}/uploads/{{user.client.company}}' как filedir%}', и он работал, есть ли способ избежать необходимости {% endwith%} ? – shenk

+0

Ты делаешь что-то странное здесь. обычно вы должны использовать статический для имплантации каталога где-то в вашем коде, когда вам это нужно. Не помещаем его в другой шаблон – flakes