Пример #1
0
 def render_tag(self, context, name, strip, nodelist):
     rendered_contents = nodelist.render(context)
     if strip:
         rendered_contents = rendered_contents.strip()
     varname = get_varname()
     context[varname][name].append(rendered_contents)
     return ""
Пример #2
0
 def render_tag(self, context, name, variable, inner_nodelist, nodelist):
     rendered_contents = nodelist.render(context)
     varname = get_varname()
     data = context[varname][name]
     context.push()
     context[variable] = data
     inner_contents = inner_nodelist.render(context)
     context.pop()
     return '%s\n%s' % (inner_contents, rendered_contents)
Пример #3
0
 def render_tag(self, context, name, postprocessor, nodelist):
     if not validate_context(context):
         return nodelist.render(context)
     rendered_contents = nodelist.render(context)
     varname = get_varname()
     data = context[varname][name].render()
     if postprocessor:
         func = import_processor(postprocessor)
         data = func(context, data, name)
     return '%s\n%s' % (data, rendered_contents)
Пример #4
0
def validate_context(context):
    """
    Validates a given context.
    
    Returns True if the context is valid.
    
    Returns False if the context is invalid but the error should be silently
    ignored.
    
    Raises a TemplateSyntaxError if the context is invalid and we're in debug
    mode.
    """
    if get_varname() in context:
        return True
    if not settings.TEMPLATE_DEBUG:
        return False
    raise template.TemplateSyntaxError(
        "You must enable the 'sekizai.context_processors.sekizai' template "
        "context processor or use 'sekizai.context.SekizaiContext' to "
        "render your templates.")
Пример #5
0
 def render_tag(self, context, key, value):
     varname = get_varname()
     context[varname][key].append(value)
     return ''
Пример #6
0
def sekizai(request=None):
    """
    Simple context processor which makes sure that the SekizaiDictionary is
    available in all templates.
    """
    return {get_varname(): SekizaiDictionary()}