mirror of
https://github.com/django/django.git
synced 2024-12-24 10:05:46 +00:00
Fixed #4123 -- Changed the firstof template tag to correctly handle a literal
string as its last argument. Thanks, Wesley Fok and Matt Boersma. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6571 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
8a3cf46e60
commit
b678601df3
@ -517,8 +517,14 @@ def firstof(parser, token):
|
||||
{% endif %}{% endif %}{% endif %}
|
||||
|
||||
but obviously much cleaner!
|
||||
|
||||
You can also use a literal string as a fallback value in case all
|
||||
passed variables are False::
|
||||
|
||||
{% firstof var1 var2 var3 "fallback value" %}
|
||||
|
||||
"""
|
||||
bits = token.contents.split()[1:]
|
||||
bits = token.split_contents()[1:]
|
||||
if len(bits) < 1:
|
||||
raise TemplateSyntaxError, "'firstof' statement requires at least one argument"
|
||||
return FirstOfNode(bits)
|
||||
|
@ -476,6 +476,11 @@ This is equivalent to::
|
||||
{{ var3 }}
|
||||
{% endif %}{% endif %}{% endif %}
|
||||
|
||||
You can also use a literal string as a fallback value in case all
|
||||
passed variables are False::
|
||||
|
||||
{% firstof var1 var2 var3 "fallback value" %}
|
||||
|
||||
for
|
||||
~~~
|
||||
|
||||
|
@ -341,7 +341,10 @@ class Templates(unittest.TestCase):
|
||||
'firstof03': ('{% firstof a b c %}', {'a':0,'b':2,'c':0}, '2'),
|
||||
'firstof04': ('{% firstof a b c %}', {'a':0,'b':0,'c':3}, '3'),
|
||||
'firstof05': ('{% firstof a b c %}', {'a':1,'b':2,'c':3}, '1'),
|
||||
'firstof06': ('{% firstof %}', {}, template.TemplateSyntaxError),
|
||||
'firstof06': ('{% firstof a b c %}', {'b':0,'c':3}, '3'),
|
||||
'firstof07': ('{% firstof a b "c" %}', {'a':0}, 'c'),
|
||||
'firstof08': ('{% firstof a b "c and d" %}', {'a':0,'b':0}, 'c and d'),
|
||||
'firstof09': ('{% firstof %}', {}, template.TemplateSyntaxError),
|
||||
|
||||
### FOR TAG ###############################################################
|
||||
'for-tag01': ("{% for val in values %}{{ val }}{% endfor %}", {"values": [1, 2, 3]}, "123"),
|
||||
|
Loading…
Reference in New Issue
Block a user