Enhanced version of snippet [1113](http://djangosnippets.org/snippets/1113/)
Usage example (not self-contained):
    @register.tag
    def groupurl(parser, token):
        '''
        Syntax::
    
            {% groupurl view_name group [key=val, [key=val, ...]] [as varname] %}
    
        Example::
    
            <a href="{% groupurl blog_detail group slug=blog.slug %}">{{ blog.name }}</a>    
        '''
        bits = token.contents.split()
        tag_name = bits[0]
    
        if len(bits) < 3:
            raise template.TemplateSyntaxError("'%s' takes tag at least 2 arguments (path to a view and a group)" % (tag_name,)
        bits_iter = iter(bits[1:])    
        # view_name + group and url kwargs
        args, kwargs = parse_args_and_kwargs(parser, bits_iter, stop_test='as', tagname=tag_name)
        if len(args) != 2:
            raise template.TemplateSyntaxError("'%s' takes exactly two non-kwargs (path to a view and a group)" % (tag_name,))
        view_name, group = args       
    
        # as var
        asvar = None
        for bit in bits_iter:
            asvar = bit
    
        return GroupURLNode(view_name, group, kwargs, asvar)
                
                    
                    
                    - tag
 
                    
                    - templatetag
 
                    
                    - parse
 
                    
                    - args
 
                    
                    - kwargs
 
                    
                    
                    
                 
            
            
        
        
        
            
                
                This is the `local_settings.py` trick extended to Django templates.
Sometimes you need to insert some arbitrary code in the HTML of the production site for external service integration like uservoice, typekit, google analytics... You don't want to put this code into source control because some other sites using the same source code may not need it.
So, add this template tag to your collection and do:
    {% try_to_include 'head.html' %}
And leave `head.html` out of source control. Then when you need to include some code on your production site, just add the `head.html` template with the desired code to include.
I usually have one included template in the header for extra `<head>` tags, and one in the footer for extra javascript.
Node that the included template is rendered against the current context. If the template doesn't exist, an empty string is returned.
Also see the [full blog post](http://bruno.im/2009/dec/07/silently-failing-include-tag-in-django/) about this tag.
                
                    
                    
                    - templatetag
 
                    
                    - include
 
                    
                    - silent
 
                    
                    
                    
                 
            
            
        
        
        
            
                
                Based on http://www.djangosnippets.org/snippets/592/, a simplified recurse template tag that will explore dict and list objects. Useful and straightforward for JSON documents (for instance from couchdb :p).
Actual usage example:
 {% recursedict mydictionary %}
 <ul>
   {% loop %}
     <li>{% if key %}<b>{{ key }}</b>: {% endif %}{% value %}</li>
   {% endloop %}
 </ul>
 {% endrecurse %}
The main tag syntax is "recursedict var" where var is your dictionary name. 
The "key" property will contain the current key, or None if the current value comes from a list (in other words the list (a, b, c) is handled like a very hypothetical {None: a, None: b, None: c} dictionary.)
{% value %} will output the current value, or recurse if the value is a list, tuple or dict.
                
                    
                    
                    - template
 
                    
                    - templatetag
 
                    
                    - json
 
                    
                    - dict
 
                    
                    - resurse