simple_tag
Python の呼び出しと同様に動作します。
テンプレートでリテラルを渡す場合、True
名前付きの変数として扱われ、True
テンプレート コンテキストで検索されます。True
が定義されていない場合、フィールドが である限り、値は Django によって''
強制されます。False
crop
models.BooleanField
例えば、
foo/templatetags/foo.py で
from django import template
register = template.Library()
def test(x, y=False, **kwargs):
return unicode(locals())
シェルで
>>> from django.template import Template, Context
>>> t = Template("{% load foo %}{% test 1 True z=42 %}")
>>> print t.render(Context())
{'y': '', 'x': 1, 'kwargs': {'z': 42}}
# you could define True in context
>>> print t.render(Context({'True':True}))
{'y': True, 'x': 1, 'kwargs': {'z': 42}}
# Also you could use other value such as 1 or 'True' which could be coerced to True
>>> t = Template("{% load foo %}{% test 1 1 z=42 %}")
>>> print t.render(Context())
{'y': 1, 'x': 1, 'kwargs': {'z': 42}}
>>> t = Template("{% load foo %}{% test 1 'True' z=42 %}")
>>> print t.render(Context())
{'y': 'True', 'x': 1, 'kwargs': {'z': 42}}