Django的动态和静态主机解析。将主机名映射到urlconfs。

django-hosts的Python项目详细描述


https://img.shields.io/pypi/v/django-hosts.svghttps://img.shields.io/travis/jazzband/django-hosts.svghttps://img.shields.io/coveralls/jazzband/django-hosts.svghttps://readthedocs.org/projects/django-hosts/badge/?version=latest&style=flathttps://jazzband.co/static/img/badge.svg

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

例如,如果您拥有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作为这些 人质会议。

模式是按顺序计算的。如果没有匹配的模式,则请求是 以通常的方式处理,即使用标准的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

或者,使用repository on Github

您可以在这里找到完整的文档:django-hosts.rtfd.org

然后将您的django站点配置为使用应用程序:

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

  2. 'django_hosts.middleware.HostsRequestMiddleware'添加到开头 MIDDLEWAREMIDDLEWARE_CLASSES设置。

  3. 'django_hosts.middleware.HostsResponseMiddleware'添加到 MIDDLEWAREMIDDLEWARE_CLASSES设置。

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

  5. ROOT_HOSTCONF设置设置为点式python 包含主机模式的模块的导入路径,例如:

    ROOT_HOSTCONF = 'mysite.hosts'
    
  6. DEFAULT_HOST设置设置为您的主机模式的名称。 希望引用为默认模式。如果没有其他人会用的 模式匹配或不给host_url模板命名 标签。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javapojo到org。布森。文件,反之亦然   java突然增加了G1老一代的承诺内存,减少了Eden的大小   java为什么对多个RXJava观察对象不执行并行执行?   java中的枚举是故障安全的吗?如果是,怎么做?   java是等待字符串变为相等的正确方法   java CodeAbbey挑战14个数据输入问题?   在java中的任意位置插入。util。列表   java替换html中的值   java需要帮助破译一个小堆栈跟踪:我使用的是哪种WS?   java Guice依赖项注入器空指针异常   java如何在3D引擎中实现视图剪裁平面?   JavaEclipseRCP:操作与命令需要更新   java如何使用XPAGES DesignerFacesServlet显示泰语字母(以及另一个亚洲/阿拉伯字母)   java装饰器模式问题   java我对空间复杂性的分析正确吗?   不显示java OpenGL ES 2纹理   使用java问题中的wc命令计算行数   java为什么空指针异常取决于条件的顺序?   Java日期在同一天或同一个月   java在使用lambda表达式时在变量中存储一些值