Найти - Пользователи
Полная версия: mako templates, лишние пробелы и переводы строк
Начало » Python для новичков » mako templates, лишние пробелы и переводы строк
1
dimabest
есть шаблон, который меняет надпись на кнопке:
<input type="submit" value="
% if 'id' in data:
add
% else:
change
% endif
">
при рендеринге получаем 2 лишних перевода строк + лишние пробелы:
<input type="text" value="
add
">
поик у гугле помог убрать лишние переводы строк:
<input type="submit" value="\
% if 'id' in data:
add\
% else:
change\
% endif
">
вывод:
<input type="text" value="    add">
такое решение иначе как грязным хаком не назовешь, ибо слеши приобретают особый смысл в строках, которые шаблонизатор трогать не должен.

А как убрать лишние пробелы?
Убрать отступы - не решение, ибо шаблон превратится в нечитаемую кашу.
regall
dimabest
<input type=“submit” value="\
% if 'id' in data:
add\
% else:
change\
% endif
">
По-моему, тут проблема в том, что такой шаблон иначе как грязным хаком не назовешь :D. Попробуйте value определять не в шаблоне, что ли …
ofigetitelno
:)
Можно так:
<input type=“submit” value=“${'add' if ‘id’ in data else ‘change’}”>
чтобы убрать пробелы add\ и change\ должны начинаться с начала строки.
dimabest
ofigetitelno

о, спасибо, то что надо.

мне пришел в голову более хитрый способ:
<%
value = 'add' if 'id' in data else 'change'
%>
<input type="text" value="${value}">
ps: смеятся не надо, только вчера установил mako templates.
cutwater
Тогда может имеет смысл вынести логику вне view ?
Андрей Светлов
Какой тут уж смех… Это по нашему, по чукотски - поставить инструмент и сразу же вместо вдумчивого чтения документации в режиме включенного мозга - начать задавать вопросы.
dimabest
cutwater
Тогда может имеет смысл вынести логику вне view ?
другой пример - в цикле строится таблица, если строка четная - выводим красным цветом.
% for i, text in data:
<td class="${'black' if i%2 else 'red'}">${text}</td>
% endif
Здесь вне шаблона логику не вывести.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB