mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Moved context_processors from django.core to django.template.
This commit is contained in:
		| @@ -2,7 +2,7 @@ from copy import copy | ||||
|  | ||||
|  | ||||
| # Hard-coded processor for easier use of CSRF protection. | ||||
| _builtin_context_processors = ('django.core.context_processors.csrf',) | ||||
| _builtin_context_processors = ('django.template.context_processors.csrf',) | ||||
|  | ||||
|  | ||||
| class ContextPopException(Exception): | ||||
|   | ||||
							
								
								
									
										85
									
								
								django/template/context_processors.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								django/template/context_processors.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| """ | ||||
| A set of request processors that return dictionaries to be merged into a | ||||
| template context. Each function takes the request object as its only parameter | ||||
| and returns a dictionary to add to the context. | ||||
|  | ||||
| These are referenced from the setting TEMPLATE_CONTEXT_PROCESSORS and used by | ||||
| RequestContext. | ||||
| """ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| from django.conf import settings | ||||
| from django.middleware.csrf import get_token | ||||
| from django.utils import six | ||||
| from django.utils.encoding import smart_text | ||||
| from django.utils.functional import lazy | ||||
|  | ||||
|  | ||||
| def csrf(request): | ||||
|     """ | ||||
|     Context processor that provides a CSRF token, or the string 'NOTPROVIDED' if | ||||
|     it has not been provided by either a view decorator or the middleware | ||||
|     """ | ||||
|     def _get_val(): | ||||
|         token = get_token(request) | ||||
|         if token is None: | ||||
|             # In order to be able to provide debugging info in the | ||||
|             # case of misconfiguration, we use a sentinel value | ||||
|             # instead of returning an empty dict. | ||||
|             return 'NOTPROVIDED' | ||||
|         else: | ||||
|             return smart_text(token) | ||||
|     _get_val = lazy(_get_val, six.text_type) | ||||
|  | ||||
|     return {'csrf_token': _get_val()} | ||||
|  | ||||
|  | ||||
| def debug(request): | ||||
|     """ | ||||
|     Returns context variables helpful for debugging. | ||||
|     """ | ||||
|     context_extras = {} | ||||
|     if settings.DEBUG and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS: | ||||
|         context_extras['debug'] = True | ||||
|         from django.db import connection | ||||
|         # Return a lazy reference that computes connection.queries on access, | ||||
|         # to ensure it contains queries triggered after this function runs. | ||||
|         context_extras['sql_queries'] = lazy(lambda: connection.queries, list) | ||||
|     return context_extras | ||||
|  | ||||
|  | ||||
| def i18n(request): | ||||
|     from django.utils import translation | ||||
|  | ||||
|     context_extras = {} | ||||
|     context_extras['LANGUAGES'] = settings.LANGUAGES | ||||
|     context_extras['LANGUAGE_CODE'] = translation.get_language() | ||||
|     context_extras['LANGUAGE_BIDI'] = translation.get_language_bidi() | ||||
|  | ||||
|     return context_extras | ||||
|  | ||||
|  | ||||
| def tz(request): | ||||
|     from django.utils import timezone | ||||
|  | ||||
|     return {'TIME_ZONE': timezone.get_current_timezone_name()} | ||||
|  | ||||
|  | ||||
| def static(request): | ||||
|     """ | ||||
|     Adds static-related context variables to the context. | ||||
|  | ||||
|     """ | ||||
|     return {'STATIC_URL': settings.STATIC_URL} | ||||
|  | ||||
|  | ||||
| def media(request): | ||||
|     """ | ||||
|     Adds media-related context variables to the context. | ||||
|  | ||||
|     """ | ||||
|     return {'MEDIA_URL': settings.MEDIA_URL} | ||||
|  | ||||
|  | ||||
| def request(request): | ||||
|     return {'request': request} | ||||
		Reference in New Issue
	
	Block a user