十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关使用Django怎么配置多站点多域名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司是一家专注于网站建设、成都网站制作与策划设计,滦南网站建设哪家好?成都创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:滦南等地区。滦南做网站价格咨询:18980820575安装与配置
使用 pip 进行安装:
pip install django-hosts
把它加入到 INSTALLED_APPS 中:
INSTALLED_APPS = [ ... 'django_hosts', ... ]
在中间件 MIDDLEWARE 的 开头和结尾 都添加 HostsResponseMiddleware :
MIDDLEWARE = [ 'django_hosts.middleware.HostsRequestMiddleware', # 头尾都要加 ... 'django_hosts.middleware.HostsResponseMiddleware', ]
在 settings.py 添加配置变量:
ROOT_HOSTCONF = 'project_name.hosts' # 模块的路径,不是域名 DEFAULT_HOST = 'www' # Name of the default host, we will create it in the next steps
在settings.py同级目录创建 hosts.py 文件:
project_name/ |-- __init__.py |-- hosts.py # `ROOT_HOSTCONF` 指向这个文件 |-- settings.py |-- urls.py +-- wsgi.py
hosts.py 内容为:
from django.conf import settings from django_hosts import patterns, host host_patterns = patterns('', host('www', settings.ROOT_URLCONF, name='www'), # `name`与`DEFAULT_HOST` 相同 host('app01', 'app01.urls', name='app01'), host('app02', 'app02.urls', name='app02'), )
URL反向映射与模板
URL 反向映射需要额外一个参数作为 主机 :
from django.shortcuts import render from django_hosts.resolvers import reverse def homepage(request): homepage_url = reverse('homepage', host='www') # host可以不传,将会使用 DEFAULT_HOST user_list_url= reverse('user_list', host='app01') return render(request, 'homepage.html', {'homepage_url': homepage_url})
模板上的修改:
{% load hosts %} Homepage Help Articles
上述就是小编为大家分享的使用Django怎么配置多站点多域名了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。