Подтвердить что ты не робот

Как передать аргумент методу в переменной шаблона в Django?

Я использую библиотеку lxml для определения переменной (категории) в представлении. lxml предоставляет метод .get для получения пользовательских атрибутов. Я хотел бы использовать его в шаблоне так:

{{ category.get("foo") }} 

Я знаю, что при использовании переменных шаблона нет необходимости использовать скобки, но я получаю следующую ошибку:

{{ category.get "foo" }}

Не удалось разобрать остаток: ' "foo" ' из 'category.get "foo" '

Я предполагаю, что с моим синтаксисом что-то не так, но Google не помог. Документы django говорят, что методы просматриваются с помощью .

4b9b3361

Ответ 1

Вы не можете передать аргумент вызываемому атрибуту, подобному этому. Либо вытащите значение в представлении, либо напишите собственный тег шаблона, чтобы сделать это.

Ответ 2

Я согласен с философией ветки логики от дизайна, но есть исключение. В настоящее время я пишу метод get_image (height = xxx, width = xxx) для модели. Очевидно, что разработчик шаблонов должен решить размер изображения как последний этап. Хотя я полагаю, что правильная вещь - написать пользовательский тег, но зачем ограничивать?