Arguments in depth

Examples given here are in tabular form. The non-standard options are a list of options to the argument class which are not the default value. The input is the single token in your template tag that gets consumed by this argument class. The output is the value you get in your render_tag method for the keyword of this argument.

Context for all examples: {'name': 'classytags'}

Argument

Examples
Non-standard options Input Output
  name 'classytags'
  'name' 'name'
resolve=False name 'name'
default='myvalue'   'myvalue'

KeywordArgument

Examples
Non-standard options Input Output
  key=name {'key': 'classytags'}
  key='name' {'key': 'name'}
defaultkey='mykey' name {'defaultkey': 'classytags'}
defaultkey='mykey'   {'mykey': None}
resolve=False key=name {'key': 'name'}
splitter='->' key=name->'value' {'key=name': 'value'}

IntegerArgument

Examples
Non-standard options Input Output
  '1' 1
  name 0

ChoiceArgument

Examples
Non-standard options Input Output
choices=['choice'] name 'choice'
choices=['choice', 'classytags'] name 'classytags'

MultiValueArgument

Examples
Non-standard options Input Output
    []
  name 'is' 'awesome' ['classytags', 'is', 'awesome']

MultiKeywordArgument

Examples
Non-standard options Input Output
    {}
  name=name awesome='yes' {'name': 'classytags', 'awesome': 'yes'}
splitter=':', resolve=False hello:world {'hello': 'world'}

Flag

Examples
Non-standard options Input Output
true_values=['true', 'yes'] name False
true_values=['true', 'yes'] 'YES' True
true_values=['true', 'yes'], case_sensitive=True 'YES' False