Используйте язык шаблонов, такой как Джинджа или Хамелеон .Вы можете вернуть словарь и взаимодействовать со словарем в шаблоне.
Документы Кляйна описывают, как использовать витые шаблоны.
Шаблоны
Вы также можете легко использовать twisted.web.templates, возвращая все, что реализует twisted.web.template.IRenderable, например twisted.web.template.Element, в этом случае шаблон будет отображаться, а результат будет отправлен кактело ответа.
from twisted.web.template import Element, XMLString, renderer
from klein import run, route
class HelloElement(Element):
loader = XMLString((
'<h1 '
'xmlns:t="http://twistedmatrix.com/ns/twisted.web.template/0.1"'
'>Hello, <span t:render="name"></span>!</h1>'))
def __init__(self, name):
self._name = name
@renderer
def name(self, request, tag):
return self._name
@route('/hello/<string:name>')
def home(request, name='world'):
return HelloElement(name)
run("localhost", 8080)
и это , которое показывает именно то, что вы просите.Процитируем первые несколько абзацев:
Шаблонирование HTML - это процесс преобразования шаблонного документа (который описывает стиль и структуру, но сам по себе не содержит никакого содержимого) в некоторый вывод HTML, содержащий информацию ообъекты в вашем приложении.Для этого в Python существует множество библиотек: несколько имен, шаблоны jinja2, django и clearsilver.Вы можете легко использовать любую из этих библиотек в своем веб-приложении Twisted, запустив их как приложения WSGI или вызвав API предпочитаемой системы шаблонов для вывода их в виде строк, а затем записав эти строки в Request.write.
Прежде чем мы начнем объяснять, как его использовать, я хотел бы подчеркнуть, что вам не нужно использовать систему шаблонов Twisted, если вы предпочитаете другой способ генерации HTML.Используйте его, если это соответствует вашему личному стилю или вашему приложению, но не стесняйтесь использовать другие вещи.В Twisted есть шаблоны для собственного использования, поскольку серверу twisted.web необходимо создавать HTML в разных местах, и мы не хотели добавлять еще одну большую зависимость для этого.Twisted ни в коем случае не несовместим с другими системами, так что это никак не связано с тем, что мы используем свои собственные.