def get(self, _, templates): templates = templates.split(",") response = {} for template in templates: try: view_name, view_method = template.split(".") except ValueError: if not template in self.allowed_templates: raise NotAcceptable("Template: {}".format(template)) loader = Loader() name = "{}.html".format(template) template_body = loader.load_template_source(name)[0] response[template] = self.reformat_template(template_body) else: if view_name not in self.allowed_views.keys(): raise NotAcceptable("View: {}".format(view_name)) view = self.allowed_views[view_name] if view_name in self.allowed_methods.keys() and \ view_method not in self.allowed_methods[view_name]: raise NotAcceptable("Method: {}.{}".format(view_name, view_method)) views = getattr(view, view_method)() response[view_name] = views # response.update({"{}.{}".format(view_name, name): template_body\ # for name, template_body in views.items()}) return Response(response)
def get(self, _, templates): templates = templates.split(",") response = {} for template in templates: try: view_name, view_method = template.split(".") except ValueError: if not template in self.allowed_templates: raise NotAcceptable("Template: {}".format(template)) loader = Loader() name = "{}.html".format(template) template_body = loader.load_template_source(name)[0] response[template] = self.reformat_template(template_body) else: if view_name not in self.allowed_views.keys(): raise NotAcceptable("View: {}".format(view_name)) view = self.allowed_views[view_name] if view_name in self.allowed_methods.keys() and \ view_method not in self.allowed_methods[view_name]: raise NotAcceptable("Method: {}.{}".format( view_name, view_method)) views = getattr(view, view_method)() response[view_name] = views # response.update({"{}.{}".format(view_name, name): template_body\ # for name, template_body in views.items()}) return Response(response)
def ssi_loader(context, filepath): try: loader = Loader() source, origin = loader.load_template_source(filepath) return source except Exception as e: return ''
def get_template(templatefile, failmsg="no template filename supplied"): """ Retrieve template source from the supplied filename """ assert templatefile, "get_template: %s" % failmsg # Instantiate a template loader loader = Loader() # Source: actual source code read from template file # File path: absolute file path of template file source, file_path = loader.load_template_source(templatefile) return source
def get_template(templatefile, failmsg="no template filename supplied"): """ Retrieve template source from the supplied filename """ assert templatefile, "get_template: %s"%failmsg # Instantiate a template loader loader = Loader() # Source: actual source code read from template file # File path: absolute file path of template file source, file_path = loader.load_template_source(templatefile) return source
def template_to_source(): import codecs from django.conf import settings from django.template.loaders.app_directories import Loader from common.models import SiteTemplate loader = Loader() apps_root = os.path.realpath('%s/../' % settings.PROJECT_ROOT) for st in SiteTemplate.objects.all(): for filepath in loader.get_template_sources(st.name): try: if file_exists(filepath) and filepath.startswith(apps_root): with codecs.open(filepath, 'w', 'utf8') as f: f.write(st.content) print st.name, filepath, '-ok' except IOError as e: pass
def template_to_source(): import codecs from django.conf import settings from django.template.loaders.app_directories import Loader from common.models import SiteTemplate loader = Loader() apps_root = os.path.realpath('%s/../' % settings.PROJECT_ROOT) for st in SiteTemplate.active_objects.all(): for filepath in loader.get_template_sources(st.name): try: if file_exists(filepath) and filepath.startswith(apps_root): with codecs.open(filepath, 'w', 'utf8') as f: f.write(st.content) print st.name, filepath, '-ok' except IOError as e: print e
def do_include_raw(parser, token): """Perform a raw template include. This means to include the template without parsing context, just dump the template in. Source: http://djangosnippets.org/snippets/1684/ """ bits = token.split_contents() if len(bits) != 2: excp_msg = ("%r tag takes one argument: the name of the template to " "be included" % bits[0]) raise template.TemplateSyntaxError(excp_msg) template_name = bits[1] if (template_name[0] in ('"', "'") and template_name[-1] == template_name[0]): template_name = template_name[1:-1] template_loader = Loader() source, path = template_loader.load_template_source(template_name) return template.TextNode(source)
def do_include_raw(parser, token): """ Performs a template include without parsing the context, just dumps the template in. """ bits = token.split_contents() if len(bits) != 2: raise TemplateSyntaxError, "%r tag takes one argument: the name of the template to be included" % bits[ 0] template_name = bits[1] if template_name[0] in ('"', "'") and template_name[-1] == template_name[0]: template_name = template_name[1:-1] #source, path = load_template_source(template_name) source, path = Loader().load_template_source(template_name) return template.TextNode(source)
def get_template_sources(self, template_name, template_dirs=None): if not template_dirs: template_dirs = app_template_dirs return AppDirLoader.get_template_sources( self, template_name, reversed(template_dirs))
def get_template_sources(self, template_name, template_dirs=None): vals = list( Loader.get_template_sources(self, template_name, template_dirs)) vals.reverse() return vals
def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'content': l = Loader() kwargs['initial'] = l.load_template_source('newsletters/mail/body/iw-newsletter.html')[0] return super(NewsletterAdmin, self).formfield_for_dbfield(db_field, **kwargs)
def get_extra_context(self, request): include = request.view_params.get('include') html, _ = Loader().load_template_source(include) html_snippet = highlight(html, HtmlDjangoLexer(), HtmlFormatter(full=False, noclasses=True)) return {'html': html_snippet, 'path': include}
from django.template.loaders.app_directories import Loader from .base import ConditionalJinja2LoaderMixin class Loader(ConditionalJinja2LoaderMixin, Loader): pass _loader = Loader()
def template_source(self, template_name): source_loader = Loader() source, file_path = source_loader.load_template_source(template_name) return source
def get_template_sources(self, template_name, template_dirs=None): vals = list(Loader.get_template_sources(self, template_name, template_dirs)) vals.reverse() return vals