'This method accepts the same arguments as the `dict` constructor:
A dict, a dict subclass or some keyword arguments.  If no arguments
are given the context will be empty.  These two calls do the same::
template.render(knights=\'that say nih\')
template.render({\'knights\': \'that say nih\'})
This will return the rendered template as unicode string.'

def render(self, *args, **kwargs):

    vars = dict(*args, **kwargs)
    try:
        return concat(self.root_render_func(self.new_context(vars)))
    except Exception:
        exc_info = sys.exc_info()
    return self.environment.handle_exception(exc_info, True)
