代码之家  ›  专栏  ›  技术社区  ›  Gaslight Deceive Subvert

从数据库加载django模板

  •  12
  • Gaslight Deceive Subvert  · 技术社区  · 16 年前

    我试图从djangos正常请求-响应结构之外的数据库呈现django模板。但由于django模板的编译方式,它似乎并不平凡。我想这样做:

    >>> s = Template.objects.get(pk = 123).content
    >>> some_method_to_render(s, {'a' : 123, 'b' : 456})
    >>> ... the rendered output here ...
    

    你是怎么做到的?

    2 回复  |  直到 16 年前
        1
  •  38
  •   Ajoy    9 年前

    这并不复杂,也与请求/响应结构无关。只需将模板字符串传递到 django.template.Template

    from django.template import Context, Template
    from myapp.models import DbTemplate
    
    s = DbTemplate.objects.get(pk=123).content
    tpl = Template(s)
    tpl.render(Context(dict(a=123, b=456)))
    
    推荐文章