时间:2021-05-22
起步
要介绍一个非常方便的 Django 扩展包-- django-hosts 。它能够提供在不同的子域名下访问不同的 app。例如,在项目中有多个应用 app01 、 app02 等,希望通过域名 app01.example.com 访问该应用。
安装与配置
使用 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.pyhosts.py 内容为:
from django.conf import settingsfrom django_hosts import patterns, hosthost_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 renderfrom django_hosts.resolvers import reversedef 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 %}<a href="{% host_url 'home' host 'www' %}" rel="external nofollow" >Homepage</a><a href="{% host_url 'articles' host 'help' %}" rel="external nofollow" >Help Articles</a>总结
另外,由于域名不同,它们之间存在跨域问题,认证信息并不共享。更多可以查看官方文档:https://django-hosts.readthedocs.io/en/latest/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了phpStudy配置多站点多域名和多端口的方法,分享给大家,也给自己留个笔记ServerAliasOptionsFollowSymLinksExecC
此文不太适合一点不懂多站点多域名的。适合于碰到难处了,一点就透。ok。比较随意。首先,打开站点域名管理,配置如下,网站域名和目录都可以自己设置,端口重设一个,不
WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名)。每个站点拥有独立的主题、插件
在上篇文章给大家介绍过Django多环境配置详解,感兴趣的朋友可以点击查阅,今天继续给大家介绍django多环境配置的相关内容,本文重点给大家介绍Django设
[目录]扯淡吹逼之开发前奏Django开发环境搭建及配置Bootstrap前端页面开发Djangoapp开发Django站点管理Python简易爬虫开发Ngin