1
如何捕获子域名的一部分,并通过请求在我的视图中将该名称作为字符串获取。Django |捕获子域作为字符串
例如:
user.domain.com
developer.domain.com
我想通过请求捕捉到了这个域名的user
部分(让当第一次用户点击页面说的)。
谢谢。
如何捕获子域名的一部分,并通过请求在我的视图中将该名称作为字符串获取。Django |捕获子域作为字符串
例如:
user.domain.com
developer.domain.com
我想通过请求捕捉到了这个域名的user
部分(让当第一次用户点击页面说的)。
谢谢。
这可以使用middleware完成。
这是我一直在使用...
class SubdomainMiddleware:
""" Make the subdomain publicly available to classes """
def process_request(self, request):
domain_parts = request.get_host().split('.')
if (len(domain_parts) > 2) or (len(domain_parts) == 2 and domain_parts[1].find('localhost') != -1):
subdomain = domain_parts[0]
if (subdomain.lower() == 'www'):
subdomain = None
domain = '.'.join(domain_parts[1:])
else:
subdomain = None
domain = request.get_host()
request.subdomain = subdomain
request.domain = domain
我从什么地方得到这个代码,并修改了一些,但我不记得它最初是从。
只需将其放在某个文件的某个文件中,然后将其添加到settings.py
的MIDDLEWARE_CLASSES
列表中。
然后,只要有请求,您就可以使用request.subdomain
访问子域(例如,在视图中,我假设您将需要它)