使用 Django 模板标签的 Mako 模板

发布于 2024-09-25 07:15:02 字数 635 浏览 11 评论 0原文

我们的 Django 网站是使用 Mako 模板构建的。我们想使用一个名为 django-socialregistration 的第三方项目,但它的模板标签使用 Django 的模板。如果我们使用 Django 模板,我们可以

{% load facebook_tags %}
{% facebook_button %}
{% facebook_js %}

如何在 Mako 中做同样的事情?你可以在 Mako 中内联 strait up python,但我还没弄清楚如何做到这一点。

最终修复

<%! from django.template import Template, Context %>
<% tpl = "{% load facebook_tags %}{% facebook_button %}{% facebook_js %}" %>
${Template(tpl).render(Context(dict_=dict(request=request)))}

Our Django site is built using Mako templates. We want to use a third party project called django-socialregistration, but its template tags use Django's templates. If we used Django templates we could just

{% load facebook_tags %}
{% facebook_button %}
{% facebook_js %}

How can I do the same thing in Mako? You can inline strait up python in Mako, but I haven't figured out how to do it that way either.

Final Fix

<%! from django.template import Template, Context %>
<% tpl = "{% load facebook_tags %}{% facebook_button %}{% facebook_js %}" %>
${Template(tpl).render(Context(dict_=dict(request=request)))}

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

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

发布评论

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

评论(1

染年凉城似染瑾 2024-10-02 07:15:02

我几乎没有使用过 Mako,但如果你可以包含任意 Python 代码,你总是可以在那里内联模板渲染函数。

<%
    tpl = """{% load facebook_tags %}{% facebook_button %}{% facebook_js %}"""
    from django.template import Template, Context
    t = Template(tpl)
    t.render(Context())
%>

I've hardly used Mako, but if you can include arbitrary Python code, you could always inline the template rendering function there.

<%
    tpl = """{% load facebook_tags %}{% facebook_button %}{% facebook_js %}"""
    from django.template import Template, Context
    t = Template(tpl)
    t.render(Context())
%>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文