def render_view(self, request, path=''): """Default controller. Render the template at `path` guessing it's mimetype. """ path = self._normalize_path(path) fn, ext = os.path.splitext(path) real_ext = self._translate_ext(ext) fullpath = os.path.join(self.source_dir, path.lstrip('/')) if not os.path.exists(fullpath): ext, path, fullpath = self._get_alternative(path) if not fullpath: return self.not_found() plain_text_exts = self.settings.plain_text if ext in plain_text_exts or utils.is_binary(fullpath): return send_file(request, fullpath) try: resp = self.render(path, **self.settings) except TemplateSyntaxError, e: print '-- WARNING:', 'Syntax error while trying to process', \ utils.to_unicode(path), 'as a Jinja template.' source = utils.get_source(fullpath) resp = Response(source) print e
def render_view(self, request, path=''): """Default controller. Render the template at `path` guessing it's mimetype. """ path = self._normalize_path(path) try: content, ext = self.render(path, **self.settings) mimetype = mimetypes.guess_type('a' + ext)[0] or 'text/plain' except TemplateNotFound: return self.not_found() if content: return Response(content, mimetype=mimetype) fullpath = os.path.join(self.source_dir, path) if not os.path.isfile(fullpath): return self.not_found() return send_file(request, fullpath)