2009-12-15 5 views
1

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

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

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

, а не все {IF} {ELSE} Джанго материал.

ответ

2

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

+0

Мне это нравится. У меня будет баш – 2009-12-16 09:52:57

3

Вы хотите, чтобы встроенный python на странице html для просмотра mako (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> 

речь идет о наследовании, отзывной блоков, быстрее и лучше, чем ИМО Джанго и в любой день лучше, чем PHP стиль вещи.

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

0

Самый простой способ заключается в использовании string templates из стандартной библиотеки.

0

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

+0

Если я хочу внести незначительные изменения, я должен испортить, какой код отправляется на шаблон и т. Д. Также я не думаю, что все символы очень читаемы. – 2009-12-15 17:57:53

+0

На мой взгляд, шаблоны делают код более читаемым, многоразовым и поддерживаемым , но я уважаю ваше мнение. Если вы не используете синтаксис, это может сбить с толку. – jbochi

+0

PS: Вам нужно отправить объекты (например, списки или строки) в шаблон, а не код. – jbochi