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

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

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

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

【问题讨论】:

    标签: django django-templates django-template-filters


    【解决方案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 进行操作,这是唯一的方法
    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 2016-01-29
    • 1970-01-01
    • 2017-03-22
    • 2010-10-25
    • 2017-11-23
    • 2012-06-06
    相关资源
    最近更新 更多