Как интегрировать движок StringTemplate в веб-сервер CherryPy - PullRequest
2 голосов
/ 19 декабря 2008

Мне нравится движок StringTemplate, и мне нравится веб-сервер CherryPy, и я знаю, что они могут быть интегрированы.

Кто это сделал? Как?

РЕДАКТИРОВАТЬ: платформа TurboGears использует веб-сервер CherryPy и связывает другие связанные компоненты, такие как шаблонизатор, инструменты доступа к данным, комплект JavaScript и т. Д. Мне интересен MochiKit, мне нужен CherryPy, но я не хочу ничего другого шаблонизатор, чем StringTemplate (архитектура критична - мне не нужен другой сломанный / плохой шаблонизатор).

Поэтому было бы приемлемо ответить на этот вопрос, рассмотрев, как интегрировать StringTemplate с TurboGears.

Также может быть приемлемо ответить на этот вопрос, рассмотрев, как использовать CherryPy и StringTemplate в Google App Engine.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 22 января 2009

На основе уроков для обоих это выглядит довольно просто:

import stringtemplate
import cherrypy

class HelloWorld(object):
    def index(self):
        hello = stringtemplate.StringTemplate("Hello, $name$")
        hello["name"] = "World"
        return str(hello)
    index.exposed = True

cherrypy.quickstart(HelloWorld())

Возможно, вы захотите, чтобы функции CherryPy находили StringTemplate в каком-то месте на диске, но общая идея будет такой:

Django концептуально похож: URL-адреса отображаются на функции python, а функции python обычно создают контекстный словарь, отображают шаблон с этим контекстным объектом и возвращают результат.

0 голосов
/ 20 января 2009

Rob

Есть причина, по которой люди выбирают инструменты. StringTemplate не очень популярен для Python, есть движки шаблонов, которые гораздо лучше поддерживаются и имеют гораздо более широкую аудиторию. Если вам не нравится Малыш, есть также шаблоны Джанго, Джинджа, Гепард и другие. Возможно, вы сможете найти в одном из них функции, которые вам так нравятся в StringTemplate, и жить долго и счастливо.

...