mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Following the app-loading refactor, these objects must live outside of django.contrib.sites.models because they must be available without importing the django.contrib.sites.models module when django.contrib.sites isn't installed. Refs #21680. Thanks Carl and Loic for reporting this issue.
		
			
				
	
	
		
			26 lines
		
	
	
		
			788 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			788 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| 
 | |
| from django.utils.encoding import python_2_unicode_compatible
 | |
| 
 | |
| 
 | |
| @python_2_unicode_compatible
 | |
| class RequestSite(object):
 | |
|     """
 | |
|     A class that shares the primary interface of Site (i.e., it has
 | |
|     ``domain`` and ``name`` attributes) but gets its data from a Django
 | |
|     HttpRequest object rather than from a database.
 | |
| 
 | |
|     The save() and delete() methods raise NotImplementedError.
 | |
|     """
 | |
|     def __init__(self, request):
 | |
|         self.domain = self.name = request.get_host()
 | |
| 
 | |
|     def __str__(self):
 | |
|         return self.domain
 | |
| 
 | |
|     def save(self, force_insert=False, force_update=False):
 | |
|         raise NotImplementedError('RequestSite cannot be saved.')
 | |
| 
 | |
|     def delete(self):
 | |
|         raise NotImplementedError('RequestSite cannot be deleted.')
 |