mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Added dummy template backend.
This commit is contained in:
		
							
								
								
									
										52
									
								
								django/template/backends/dummy.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								django/template/backends/dummy.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| import io | ||||
| import string | ||||
|  | ||||
| from django.conf import settings | ||||
| from django.core.exceptions import ImproperlyConfigured | ||||
| from django.template import TemplateDoesNotExist | ||||
| from django.utils.html import conditional_escape | ||||
|  | ||||
| from .base import BaseEngine | ||||
| from .utils import csrf_input_lazy, csrf_token_lazy | ||||
|  | ||||
|  | ||||
| class TemplateStrings(BaseEngine): | ||||
|  | ||||
|     app_dirname = 'template_strings' | ||||
|  | ||||
|     def __init__(self, params): | ||||
|         params = params.copy() | ||||
|         options = params.pop('OPTIONS').copy() | ||||
|         if options: | ||||
|             raise ImproperlyConfigured( | ||||
|                 "Unknown options: {}".format(", ".join(options))) | ||||
|         super(TemplateStrings, self).__init__(params) | ||||
|  | ||||
|     def from_string(self, template_code): | ||||
|         return Template(template_code) | ||||
|  | ||||
|     def get_template(self, template_name): | ||||
|         for template_file in self.iter_template_filenames(template_name): | ||||
|             try: | ||||
|                 with io.open(template_file, encoding=settings.FILE_CHARSET) as fp: | ||||
|                     template_code = fp.read() | ||||
|             except IOError: | ||||
|                 continue | ||||
|  | ||||
|             return Template(template_code) | ||||
|  | ||||
|         else: | ||||
|             raise TemplateDoesNotExist(template_name) | ||||
|  | ||||
|  | ||||
| class Template(string.Template): | ||||
|  | ||||
|     def render(self, context=None, request=None): | ||||
|         if context is None: | ||||
|             context = {} | ||||
|         else: | ||||
|             context = {k: conditional_escape(v) for k, v in context.items()} | ||||
|         if request is not None: | ||||
|             context['csrf_input'] = csrf_input_lazy(request) | ||||
|             context['csrf_token'] = csrf_token_lazy(request) | ||||
|         return self.safe_substitute(context) | ||||
							
								
								
									
										14
									
								
								django/template/backends/utils.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								django/template/backends/utils.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| from django.middleware.csrf import get_token | ||||
| from django.utils.functional import lazy | ||||
| from django.utils.html import format_html | ||||
| from django.utils.safestring import SafeText | ||||
|  | ||||
|  | ||||
| def csrf_input(request): | ||||
|     return format_html( | ||||
|         '<input type="hidden" name="csrfmiddlewaretoken" value="{}" />', | ||||
|         get_token(request)) | ||||
|  | ||||
|  | ||||
| csrf_input_lazy = lazy(csrf_input, SafeText, str) | ||||
| csrf_token_lazy = lazy(get_token, str) | ||||
		Reference in New Issue
	
	Block a user