Шаблоны движка приложения - PullRequest
1 голос
/ 15 декабря 2009

В движке приложения есть способ использовать шаблоны, более похожие на php / javascript (document.write)?

например, я бы лучше сделал:

<html>
<python>
print "Hello world"
</python>
</html>

а не все {IF} {ELSE} дженго-вещи.

Ответы [ 4 ]

3 голосов
/ 15 декабря 2009

Вы хотите встроенный Python в HTML-страницу для этого взгляда на Мако (http://www.makotemplates.org/), вам даже не нужно печатать, например,

<%inherit file="base.html"/>
<%
    rows = [[v for v in range(0,10)] for row in range(0,10)]
%>
<table>
    % for row in rows:
        ${makerow(row)}
    % endfor
</table>

<%def name="makerow(row)">
    <tr>
    % for name in row:
        <td>${name}</td>\
    % endfor
    </tr>
</%def>

он поставляется с наследованием, блокируемыми блоками, быстрее и IMO лучше, чем django и в любой день лучше, чем вещи в стиле php.

для мако на GAE см. https://code.launchpad.net/~pylons-gae/mako/mako-gae

2 голосов
/ 16 декабря 2009

Модуль шаблона проекта Tornado позволяет вставлять код Python, и это очень быстро. Он хорошо работает в App Engine, несмотря на то, что предназначен для работы с остальной частью платформы Tornado и HTTP-сервером Tornado.

0 голосов
/ 15 декабря 2009

Одна из лучших практик веб-программирования - не смешивать бизнес-логику или логику страницы с HTML. Вот почему шаблоны были созданы в конце концов, поэтому код может обрабатывать запрос, вызывать соответствующую логику и подготавливать объекты, используемые для отображения ответа, прежде чем будет сделан какой-либо вывод. Почему вы хотите пойти другим путем?

0 голосов
/ 15 декабря 2009

Самый простой способ - использовать строковые шаблоны из стандартной библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...