为Django提供动态和静态主机解析。将主机名映射到URLconfs。
项目描述
此Django应用程序将特定主机的请求路由到在称为“hostconfs”的模块中定义的不同URL方案。
例如,如果您拥有 example.com 但想在 api.example.com 和 beta.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.com 和 bar.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 站点以使用此应用
将 'django_hosts' 添加到您的 INSTALLED_APPS 设置中。
将 'django_hosts.middleware.HostsRequestMiddleware' 添加到您的 MIDDLEWARE 设置的开头。
将 'django_hosts.middleware.HostsResponseMiddleware' 添加到您的 MIDDLEWARE 设置的末尾。
创建一个新的模块,包含您的默认主机模式,例如在 urls.py 文件旁边的 hosts.py 文件中。
将 ROOT_HOSTCONF 设置为包含您的主机模式的模块的 Python 导入路径的点表示法,例如。
ROOT_HOSTCONF = 'mysite.hosts'
将 DEFAULT_HOST 设置为您想要作为默认模式引用的主机模式的 名称。如果没有其他模式匹配或您没有为 host_url 模板标签提供名称,它将被使用。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源分布
构建分布
django-hosts-6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e7aec357504d36f384c65fba67deabc4552f36f347b96bb7a3d131a1250d7299 |
|
MD5 | d52b433dd7ff97b971ad48e60dd5b8cb |
|
BLAKE2b-256 | b005217d45b4e5f0003d19322badae2ba96f242f42e51626402437b0839f2fb8 |
django_hosts-6.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34a97a183b3fb8a00de3e0a8af5355a25ff5203019d2e213edd8f12c330cc303 |
|
MD5 | 3f87d2ba5e9f10d833ffa08bcbf6e933 |
|
BLAKE2b-256 | d5abad0298e961e709108b34e64ce490064723063296efdd48dc29f38d2864dd |