Django 模板中的字符串操作

Posted

技术标签:

【中文标题】Django 模板中的字符串操作【英文标题】:String manipulation in Django templates 【发布时间】:2016-06-09 18:23:30 【问题描述】:

想象一下上下文变量 url 输出 www.example.com/<uuid-string>,其中 <uuid-string> 每次都不同,而 URL 的前一部分保持不变。

可以将 url 的输出更改为 www.forexample.com/<uuid-string>,通过单独操作模板中的字符串,而不涉及 views.py(我知道这是更好的方法去做,但这不是问题)。

一个说明性的例子会很棒。

【问题讨论】:

【参考方案1】:

阅读filters and templatetags - 它们是一种允许您对模板中的变量 执行某些操作的方法。

您还可以创建自己的标签和过滤器,允许您执行非 Django 模板语言内置的操作

此类过滤器的简单示例:

    #in templatetags.py
    @register.filter(name='duplicate')
    def duplicate(value):
        return value*2

    #in your template
    <p>  url|duplicate  </p>

You can find more examples here。您还可以在那里找到如何使用和创建它们的教程

【讨论】:

是的,我以前创建过模板标签。似乎这是唯一的方法。 如果无法在 views 级别执行编辑并且无法使用 javascript 进行操作,这是唯一的方法

以上是关于Django 模板中的字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

Django:将 HTML 字符串传递给模板

Django模板过滤器可将字符串转换为单个项目列表

Django模板中的字符串到整数

从 django 模板中的字符串中删除初始字符

如何区分 Django 模板中的列表和字符串

Django模板中的Django不区分大小写字符串比较