@register.filter def joinstrings(string_format, string_arguments): '''Template filters that perform string joins. Examples: 1) var = '23' {{"I have eat %s apples today."|joinstrings:var}} -> "I have eat 23 apples today." 2) var = [23, 45] #or any iterable object (except string - see pt. 1) {{"I have eat %d apples and %d pears today."|joinstrings:var}} -> "I have eat 23 apples and 45 pears today." 3) It works even like that: var = 'Mouses' {% with 'My cat eat 5 %s today'|joinstrings:var|lower as info %} {{info}} {% endwith %} ''' try: if hasattr(string_arguments, '__iter__'): return string_format%tuple(string_arguments) else: return string_format%string_arguments except: return string_format