Fixed #5006 -- Fixed incorrect/outdated docstring for the 'if' template tag. Thanks, Thomas Petazzoni

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5815 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-08-06 05:28:45 +00:00
parent b304ebb906
commit 3517550dac
1 changed files with 23 additions and 10 deletions

View File

@ -649,8 +649,8 @@ def do_if(parser, token):
As you can see, the ``if`` tag can take an option ``{% else %}`` clause that As you can see, the ``if`` tag can take an option ``{% else %}`` clause that
will be displayed if the test fails. will be displayed if the test fails.
``if`` tags may use ``or`` or ``not`` to test a number of variables or to ``if`` tags may use ``or``, ``and`` or ``not`` to test a number of
negate a given variable:: variables or to negate a given variable::
{% if not athlete_list %} {% if not athlete_list %}
There are no athletes. There are no athletes.
@ -660,17 +660,30 @@ def do_if(parser, token):
There are some athletes or some coaches. There are some athletes or some coaches.
{% endif %} {% endif %}
{% if athlete_list and coach_list %}
Both atheletes and coaches are available.
{% endif %}
{% if not athlete_list or coach_list %} {% if not athlete_list or coach_list %}
There are no athletes, or there are some coaches. There are no athletes, or there are some coaches.
{% endif %} {% endif %}
For simplicity, ``if`` tags do not allow ``and`` clauses. Use nested ``if`` {% if athlete_list and not coach_list %}
tags instead:: There are some athletes and absolutely no coaches.
{% endif %}
``if`` tags do not allow ``and`` and ``or`` clauses with the same
tag, because the order of logic would be ambigous. For example,
this is invalid::
{% if athlete_list and coach_list or cheerleader_list %}
If you need to combine and and or to do advanced logic, just use
nested if tags. For example:
{% if athlete_list %} {% if athlete_list %}
{% if coach_list %} {% if coach_list or cheerleader_list %}
Number of athletes: {{ athlete_list|count }}. We have athletes, and either coaches or cheerleaders!
Number of coaches: {{ coach_list|count }}.
{% endif %} {% endif %}
{% endif %} {% endif %}
""" """