예제 #1
0
def assign(parser, token):
    """
    The {% assign %} template tag is useful when you want to capture some template
    code output and use the result later.
    
    The following template code::
    
      {% load assign %}
      {% assign name="sample_code" %}1234{% endassign %}
      5678
      {{ sample_code }}
    
    ... gives the following output::
    
      
      
      5678
      1234
    
    """
    default_arguments = {}
    default_arguments['name'] = '"assign"'
    default_arguments['silent'] = '1'
    arguments = decode_tag_arguments(token, default_arguments)

    nodelist = parser.parse(('endassign', ))
    parser.delete_first_token()
    return AssignNode(nodelist, arguments)
예제 #2
0
def render_field_element(element, parser, token):
    default_arguments = {}
    default_arguments['field'] = None
    default_arguments['layout'] = None
    default_arguments['template'] = None
    arguments = decode_tag_arguments(token, default_arguments)

    return FieldElementNode(element, **arguments)
예제 #3
0
def headingcontext(parser, token):
    default_arguments = {}
    default_arguments['source_level'] = 1
    default_arguments['target_level'] = 2
    arguments = decode_tag_arguments(token, default_arguments)

    nodelist = parser.parse(('endheadingcontext',))
    parser.delete_first_token()
    return HeadingContextNode(nodelist, **arguments)
예제 #4
0
def render_form_element(element, parser, token):
    default_arguments = {}
    default_arguments['form'] = None
    default_arguments['layout'] = None
    default_arguments['fields'] = None
    default_arguments['exclude_fields'] = None
    default_arguments['template'] = None
    arguments = decode_tag_arguments(token, default_arguments)

    return FormElementNode(element, **arguments)
예제 #5
0
def replace_tag(parser, token):
    default_arguments = {}
    default_arguments['search'] = u''
    default_arguments['replacement'] = u''
    default_arguments['use_regexp'] = True
    arguments = decode_tag_arguments(token, default_arguments)

    source = parser.parse(('endreplace', ))
    parser.delete_first_token()

    return ReplaceNode(source, **arguments)
예제 #6
0
def counter(parser, token):
    default_arguments = {}
    default_arguments['name'] = '"default"'
    default_arguments['start'] = 0
    default_arguments['step'] = 1
    default_arguments['ascending'] = True
    default_arguments['silent'] = False
    default_arguments['assign'] = '""'

    arguments = decode_tag_arguments(token, default_arguments)

    return CounterNode(**arguments)