我们从Python开源项目中,提取了以下10个代码示例,用于说明如何使用django.conf.settings.TEMPLATE_DEBUG。
def slugify2(value): """ Normalizes string, converts to lowercase, removes non-alpha characters, and converts spaces to hyphens. It is similar to built-in :filter:`slugify` but it also handles special characters in variety of languages so that they are not simply removed but properly transliterated/downcoded. """ try: value = unicodedata.normalize('NFC', value) value = downcode(value) value = unicodedata.normalize('NFD', value).encode('ascii', 'ignore') value = unicode(re.sub('[^\w\s-]', '', value).strip().lower()) return safestring.mark_safe(re.sub('[-\s]+', '-', value)) except: if settings.TEMPLATE_DEBUG: raise else: return u''
def render(self, context): try: location = None if self.url: location = self.url.resolve(context) return context['request'].build_absolute_uri(location) except: if settings.TEMPLATE_DEBUG: raise else: return u''
def _get_debug_settings(): return { 'debug': settings.DEBUG, 'template': settings.TEMPLATE_DEBUG, 'javascript': settings.JAVASCRIPT_DEBUG, 'sql': settings.SQL_DEBUG, 'sql_queries': _get_sql_queries(), }
def get_context_data(self, *args, **kwargs): context = super(MasterView, self).get_context_data(*args, **kwargs) context['DEBUG'] = settings.TEMPLATE_DEBUG context['STATIC_URL'] = settings.STATIC_URL context['ANALYTICS_ID'] = settings.ANALYTICS_ID context['ENV'] = settings.ENVIRONMENT context['HOST_URL'] = self.request.get_host() context['OAUTH_SETTINGS'] = settings.OAUTH_SETTINGS context['CHANNELS_API_BASE'] = settings.CHANNELS_API_BASE context['API_BASE'] = settings.API_BASE return context
def render(self, context={}): """Render's a template, context can be a Django Context or a dictionary. """ # flatten the Django Context into a single dictionary. context_dict = {} if hasattr(context, 'dicts'): for d in context.dicts: context_dict.update(d) else: context_dict = context # Django Debug Toolbar needs a RequestContext-like object in order # to inspect context. class FakeRequestContext: dicts = [context] context = FakeRequestContext() # Used by debug_toolbar. if settings.TEMPLATE_DEBUG: from django.test import signals self.origin = Origin(self.filename) signals.template_rendered.send(sender=self, template=self, context=context) return super(Template, self).render(context_dict)
def test_invalid_helper(self): template = loader.get_template_from_string(u""" {% load crispy_forms_tags %} {% crispy form form_helper %} """) c = Context({'form': TestForm(), 'form_helper': "invalid"}) settings.CRISPY_FAIL_SILENTLY = False # Django >= 1.4 is not wrapping exceptions in TEMPLATE_DEBUG mode if settings.TEMPLATE_DEBUG and django.get_version() < '1.4': self.assertRaises(TemplateSyntaxError, lambda:template.render(c)) else: self.assertRaises(TypeError, lambda:template.render(c)) del settings.CRISPY_FAIL_SILENTLY
def templates(self): if self._templates is None: self._templates = settings.TEMPLATES if not self._templates: warnings.warn( "You haven't defined a TEMPLATES setting. You must do so " "before upgrading to Django 1.10. Otherwise Django will be " "unable to load templates.", RemovedInDjango110Warning) self._templates = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': settings.TEMPLATE_DIRS, 'OPTIONS': { 'allowed_include_roots': settings.ALLOWED_INCLUDE_ROOTS, 'context_processors': settings.TEMPLATE_CONTEXT_PROCESSORS, 'debug': settings.TEMPLATE_DEBUG, 'loaders': settings.TEMPLATE_LOADERS, 'string_if_invalid': settings.TEMPLATE_STRING_IF_INVALID, }, }, ] templates = OrderedDict() backend_names = [] for tpl in self._templates: tpl = tpl.copy() try: # This will raise an exception if 'BACKEND' doesn't exist or # isn't a string containing at least one dot. default_name = tpl['BACKEND'].rsplit('.', 2)[-2] except Exception: invalid_backend = tpl.get('BACKEND', '<not defined>') raise ImproperlyConfigured( "Invalid BACKEND for a template engine: {}. Check " "your TEMPLATES setting.".format(invalid_backend)) tpl.setdefault('NAME', default_name) tpl.setdefault('DIRS', []) tpl.setdefault('APP_DIRS', False) tpl.setdefault('OPTIONS', {}) templates[tpl['NAME']] = tpl backend_names.append(tpl['NAME']) counts = Counter(backend_names) duplicates = [alias for alias, count in counts.most_common() if count > 1] if duplicates: raise ImproperlyConfigured( "Template engine aliases aren't unique, duplicates: {}. " "Set a unique NAME for each engine in settings.TEMPLATES." .format(", ".join(duplicates))) return templates
def templates(self): if self._templates is None: self._templates = settings.TEMPLATES if not self._templates: warnings.warn( "You haven't defined a TEMPLATES setting. You must do so " "before upgrading to Django 2.0. Otherwise Django will be " "unable to load templates.", RemovedInDjango20Warning) self._templates = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': settings.TEMPLATE_DIRS, 'OPTIONS': { 'allowed_include_roots': settings.ALLOWED_INCLUDE_ROOTS, 'context_processors': settings.TEMPLATE_CONTEXT_PROCESSORS, 'debug': settings.TEMPLATE_DEBUG, 'loaders': settings.TEMPLATE_LOADERS, 'string_if_invalid': settings.TEMPLATE_STRING_IF_INVALID, }, }, ] templates = OrderedDict() backend_names = [] for tpl in self._templates: tpl = tpl.copy() try: # This will raise an exception if 'BACKEND' doesn't exist or # isn't a string containing at least one dot. default_name = tpl['BACKEND'].rsplit('.', 2)[-2] except Exception: invalid_backend = tpl.get('BACKEND', '<not defined>') raise ImproperlyConfigured( "Invalid BACKEND for a template engine: {}. Check " "your TEMPLATES setting.".format(invalid_backend)) tpl.setdefault('NAME', default_name) tpl.setdefault('DIRS', []) tpl.setdefault('APP_DIRS', False) tpl.setdefault('OPTIONS', {}) templates[tpl['NAME']] = tpl backend_names.append(tpl['NAME']) counts = Counter(backend_names) duplicates = [alias for alias, count in counts.most_common() if count > 1] if duplicates: raise ImproperlyConfigured( "Template engine aliases aren't unique, duplicates: {}. " "Set a unique NAME for each engine in settings.TEMPLATES." .format(", ".join(duplicates))) return templates