from django.template import Node

class PrettyPrintNode(Node):
 
    def __init__(self, nodelist):
        self.nodelist = nodelist
 
    def render(self, context):
        from bs4 import BeautifulSoup
        html = BeautifulSoup(self.nodelist.render(context))
        return html.prettify()
 
 
@register.tag()
def pretty(parser,token):
 
    nodelist = parser.parse(('endpretty',))
    parser.delete_first_token()
    return PrettyPrintNode(nodelist)