Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2009 16:03:10

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

есть шаблон, который меняет надпись на кнопке:

<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">
такое решение иначе как грязным хаком не назовешь, ибо слеши приобретают особый смысл в строках, которые шаблонизатор трогать не должен.

А как убрать лишние пробелы?
Убрать отступы - не решение, ибо шаблон превратится в нечитаемую кашу.



Офлайн

#2 Дек. 7, 2009 16:09:10

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

dimabest
<input type=“submit” value="\
% if 'id' in data:
add\
% else:
change\
% endif
">
По-моему, тут проблема в том, что такой шаблон иначе как грязным хаком не назовешь :D. Попробуйте value определять не в шаблоне, что ли …



Офлайн

#3 Дек. 8, 2009 16:06:35

ofigetitelno
От:
Зарегистрирован: 2006-08-01
Сообщения: 136
Репутация: +  0  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

:)
Можно так:
<input type=“submit” value=“${'add' if ‘id’ in data else ‘change’}”>
чтобы убрать пробелы add\ и change\ должны начинаться с начала строки.



Офлайн

#4 Дек. 8, 2009 20:58:41

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

ofigetitelno

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

мне пришел в голову более хитрый способ:

<%
value = 'add' if 'id' in data else 'change'
%>
<input type="text" value="${value}">
ps: смеятся не надо, только вчера установил mako templates.



Офлайн

#5 Дек. 8, 2009 21:45:51

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

Тогда может имеет смысл вынести логику вне view ?



Офлайн

#6 Дек. 8, 2009 22:06:16

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

mako templates, лишние пробелы и переводы строк

Какой тут уж смех… Это по нашему, по чукотски - поставить инструмент и сразу же вместо вдумчивого чтения документации в режиме включенного мозга - начать задавать вопросы.



Офлайн

#7 Дек. 9, 2009 02:20:25

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

mako templates, лишние пробелы и переводы строк

cutwater
Тогда может имеет смысл вынести логику вне view ?
другой пример - в цикле строится таблица, если строка четная - выводим красным цветом.
% for i, text in data:
<td class="${'black' if i%2 else 'red'}">${text}</td>
% endif
Здесь вне шаблона логику не вывести.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version