This method was rewritten to support multiple template engine
        (Determine by `TEMPLATE_ENGINE` setting, could be `tornado` and `jinja2`),
        it will only affect on template rendering process, ui modules feature,
        which is mostly exposed in `render` method, is kept to be used as normal.

def render_string(self, template_name, **kwargs):
        """This method was rewritten to support multiple template engine
        (Determine by `TEMPLATE_ENGINE` setting, could be `tornado` and `jinja2`),
        it will only affect on template rendering process, ui modules feature,
        which is mostly exposed in `render` method, is kept to be used as normal.
        """
        if 'tornado' == settings['TEMPLATE_ENGINE']:
            return super(BaseHandler, self).render_string(template_name, **kwargs)
        elif 'jinja2' == settings['TEMPLATE_ENGINE']:
            return jinja2_render(template_name, **kwargs)
        else:
            raise errors.SettingsError(
                '%s is not a supported TEMPLATE_ENGINE, should be `tornado` or `jinja2`'
                % settings['TEMPLATE_ENGINE'])