Официально поддерживаемых способов использования шаблонов, не основанных на файлах, с веб-приложением template.render()
нет. Вот способ неподдерживаемый , который работает с 1.5.1 (и вполне может не работает после этого):
class StringTemplate(webapp.RequestHandler):
def get(self):
import django.template
mytemplate = "<html>...</html>"
t = django.template.Template(mytemplate)
fake_path = os.path.abspath("main.py") # or any uploaded file
template.template_cache[fake_path] = t
self.response.out.write(template.render(fake_path, {})
app.yaml
используется, потому что кэш шаблона использует абсолютный путь к шаблону в качестве ключа, поэтому любой реальный файл будет действовать как поддельный шаблонисточник.Но это деталь реализации, которая может измениться.