跳转到主要内容

为Django提供动态和静态主机解析。将主机名映射到URLconfs。

项目描述

https://img.shields.io/pypi/v/django-hosts.svg https://img.shields.io/pypi/pyversions/django-hosts.svg https://img.shields.io/pypi/djversions/django-hosts.svg https://github.com/jazzband/django-hosts/workflows/Test/badge.svg https://codecov.io/gh/jazzband/django-hosts/branch/master/graph/badge.svg https://readthedocs.org/projects/django-hosts/badge/?version=latest&style=flat https://jazzband.co/static/img/badge.svg

此Django应用程序将特定主机的请求路由到在称为“hostconfs”的模块中定义的不同URL方案。

例如,如果您拥有 example.com 但想在 api.example.combeta.example.com 提供特定内容,请将以下内容添加到 hosts.py 文件中

from django_hosts import patterns, host

host_patterns = patterns('path.to',
    host(r'api', 'api.urls', name='api'),
    host(r'beta', 'beta.urls', name='beta'),
)

这会导致对 {api,beta}.example.com 的请求被路由到相应的URLconf。您可以将您的 urls.py 作为这些hostconfs的模板。

模式按顺序评估。如果没有模式匹配,则按常规方式处理请求,即使用标准的 ROOT_URLCONF

左侧的图案是正则表达式。例如,以下 ROOT_HOSTCONF 设置将 foo.example.combar.example.com 路由到相同的 URLconf。

from django_hosts import patterns, host

host_patterns = patterns('',
    host(r'(foo|bar)', 'path.to.urls', name='foo-or-bar'),
)

安装

首先,使用您喜欢的包管理器安装应用,例如。

pip install django-hosts

或者,使用 Github 上的 仓库

您可以在以下位置找到完整的文档: django-hosts.rtfd.org

然后配置您的 Django 站点以使用此应用

  1. 'django_hosts' 添加到您的 INSTALLED_APPS 设置中。

  2. 'django_hosts.middleware.HostsRequestMiddleware' 添加到您的 MIDDLEWARE 设置的开头。

  3. 'django_hosts.middleware.HostsResponseMiddleware' 添加到您的 MIDDLEWARE 设置的末尾。

  4. 创建一个新的模块,包含您的默认主机模式,例如在 urls.py 文件旁边的 hosts.py 文件中。

  5. ROOT_HOSTCONF 设置为包含您的主机模式的模块的 Python 导入路径的点表示法,例如。

    ROOT_HOSTCONF = 'mysite.hosts'
  6. DEFAULT_HOST 设置为您想要作为默认模式引用的主机模式的 名称。如果没有其他模式匹配或您没有为 host_url 模板标签提供名称,它将被使用。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

django-hosts-6.0.tar.gz (36.4 kB 查看哈希值)

上传时间

构建分布

django_hosts-6.0-py3-none-any.whl (27.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面