pyramid框架,jinja2和mako模板互换问题

发布于 2022-08-29 23:57:37 字数 508 浏览 15 评论 0

For example, here's an example of using "raw" Mako from within a Pyramid view:

from mako.template import Template
from pyramid.response import Response

def make_view(request):
template = Template(filename='/templates/template.mak')
result = template.render(name=request.params['name'])
response = Response(result)
return response

===============================================================
现在我想把Mako模板换成Pyramid_Jinja2, 使用通用的接口该怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2022-09-05 23:57:37

先用pyramid_jinja2这个绑定,然后pyramid会根据模板的扩展名进行判断。一般直接用render_to_response就可以了。

#/ __init__.py # pseudo code

from pyramid.config import Configurator as C
from pyramid.renderers import render_to_response as rr
from pyramid.views import view_config as v

@v(name='')
def view1(request):
    value = dict(method=request.method)
    if request.method is 'GET':
        return rr('templates/test.mako', value)
    else: return rr('templates/test.jinja2', value)

def main(global_config, **settings):
    config = C(settings=settings)
    config.include('pyramid_mako')
    config.include('pyramid_jinja2')
    config.scan()
    return config.make_wsgi_app()

http://restait.gitcafe.com/html-docs/pyramid/1.5/api/renderers.html#pyramid.renderers.render_to_response

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文