2016-02-26 106 views
2

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

可以改变的输出{{URL}}来代替www.forexample.com/<uuid-string>,通过完全操纵在模板而不涉及views.py(这是我所知道的是更好的方式来做到这一点的字符串,但是这不是问题)。

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

回答

2

阅读关于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。另外你会发现教程如何使用和创建它们

+0

是的,我之前创建了模板标签。看来这是唯一的方法。 –

+0

如果无法对* views *级别执行编辑,并且无法使用JavaScript进行操作,那么这只是方法 –