2012-01-16 242 views
0

加入两个字怎么写加入其作为输入两个词模板标签,输入可能会或可能不会是模板变量,进出把它作为字符串或变量模板模板标签中的Django

+0

https://docs.djangoproject.com/en/1.3/howto/custom-template-tags/#writing-custom-template-tags – Brandon 2012-01-16 15:53:30

+0

我无法想象,为什么你甚至需要双模板标签将两个单词相邻放置。 – 2012-01-16 16:14:28

+0

为什么你不把这些已经加入你的视图的单词传递给模板? – Jingo 2012-01-16 16:44:26

回答

1

这是你想要的。

在您的应用程序文件夹中创建一个名为templatetags的文件夹。添加初始化 .py文件和一个名为像* yourapp_extras.py *与内容类似的文件:

def joinWords(word1, word2): 
    return '%s%s' % (word1, word2) 
register.filter('joinWords', joinWords) 

{% load yourapp_extras %} 

在您的模板的顶部,并使用它像

{{ "word1"|joinWords:"word2" }} 
+0

o_O发挥得好吗? – 2012-01-16 19:14:28

+0

@ user1144808大家知道,{{word1}} {{word2}}'和@xeor的解决方案一样好。 – 2012-01-16 19:18:52

+0

但是,这确实不是最初的问题。用户询问这个问题可能有所有的理由要问。也许他需要这样一个更大的模板标签。例子总是一件好事,即使在这种情况下,它有点矫枉过正:) – xeor 2012-01-16 19:33:00