Golang Go语言中 Django-syntax like template-engine:pongo

发布于 1周前 作者 vueper 来自 Go语言

pongo2, https://github.com/flosch/pongo2

<html><head><title>Our admins and users</title></head>
{# This is a short example to give you a quick overview of pongo2's syntax. #}

{% macro user_details (user, is_admin=false ) %} <div class=“user_item”> <!-- Let’s indicate a user’s good karma --> <h2 {% if (user.karma >= 40 ) || (user.karma > calc_avg_karma (userlist )+5 ) %} class=“karma-good”{% endif %}>

        &lt;!-- This will call user.String () automatically if available: --&gt;
        {{ user }}
    &lt;/h2&gt;

    &lt;!-- Will print a human-readable time duration like "3 weeks ago" --&gt;
    &lt;p&gt;This user registered {{ user.register_date|naturaltime }}.&lt;/p&gt;

    &lt;!-- Let's allow the users to write down their biography using markdown;
         we will only show the first 15 words as a preview --&gt;
    &lt;p&gt;The user's biography:&lt;/p&gt;
    &lt;p&gt;{{ user.biography|markdown|truncatewords_html:15 }}
        &lt;a href="/user/{{ user.id }}/"&gt;read more&lt;/a&gt;&lt;/p&gt;

    {% if is_admin %}&lt;p&gt;This user is an admin!&lt;/p&gt;{% endif %}
&lt;/div&gt;

{% endmacro %}

<body> <!-- Make use of the macro defined above to avoid repetitive HTML code since we want to use the same code for admins AND members -->

&lt;h1&gt;Our admins&lt;/h1&gt;
{% for admin in adminlist %}
    {{ user_details (admin, true ) }}
{% endfor %}

&lt;h1&gt;Our members&lt;/h1&gt;
{% for user in userlist %}
    {{ user_details (user ) }}
{% endfor %}

</body> </html>


Golang Go语言中 Django-syntax like template-engine:pongo

更多关于Golang Go语言中 Django-syntax like template-engine:pongo的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Golang Go语言中 Django-syntax like template-engine:pongo的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Go语言中,虽然标准库没有直接提供类似Django模板引擎的语法支持,但pongo确实是一个不错的选择,它实现了Django模板引擎的大部分功能,为Go开发者提供了强大的模板处理能力。

pongo模板引擎支持变量替换、条件判断、循环遍历、模板继承等高级功能,这些特性使得它非常适合用于Web开发中的视图层渲染。通过使用pongo,开发者可以轻松地构建出结构清晰、易于维护的HTML页面。

在使用pongo时,你需要先安装这个库,通常可以通过Go的包管理工具go get来完成。安装完成后,你就可以在你的Go项目中导入pongo包,并开始编写模板了。

值得注意的是,虽然pongo提供了丰富的模板功能,但在实际开发中,还需要注意模板的安全性问题。例如,要避免模板注入攻击,就需要对模板中的用户输入进行严格的过滤和转义。

此外,pongo模板引擎的文档和社区支持也是非常重要的资源。通过阅读文档,你可以更深入地了解pongo的各种特性和用法;而社区中的其他开发者则可以为你提供宝贵的经验和建议。

总的来说,pongo是一个功能强大、易于使用的Go语言模板引擎,它能够帮助你更高效地构建Web应用的视图层。如果你正在寻找一个类似Django模板引擎的解决方案,那么pongo无疑是一个值得尝试的选择。

回到顶部