【问题标题】:Get in wsgi.py apache virtualhost name获取 wsgi.py apache 虚拟主机名
【发布时间】:2013-09-10 04:42:09
【问题描述】:

我有 apache 设置:

<VirtualHost *:80>
    ServerName site1.ru
    ServerAlias site2.ru

    WSGIScriptAlias / /path/to/wsgi.py
..

我想将一些特定于主机的设置加载到 django 设置中。那么,如何在 django 设置或 wsgi.py 中获取 HTTP_HOST(site1.ru 或 site2.ru)?

【问题讨论】:

    标签: python django http-host


    【解决方案1】:
    in wsgi.py
    
    import os, sys
    os.environ['DJANGO_SETTINGS_MODULE'] ='project.settings'
    

    【讨论】:

    • 我知道这一点。但是在wsgi.py中想设置os.environ['HOST']然后在settings中读取
    • 您必须使用 HttpRequest.get_host() 定义一个像处理程序这样的中间件函数才能获取它的设置。
    【解决方案2】:

    request.META['HTTP_HOST'],与所有其他标头相同。

    【讨论】:

    • 如何在 wsgi.py 中获取请求?还是设置?
    • 您无法在设置中获取它,因为它仅作为请求的一部分存在。在 WSGI 处理程序中查看 environ
    猜你喜欢
    • 2011-11-04
    • 2011-06-19
    • 2020-10-18
    • 1970-01-01
    • 2019-08-25
    • 2012-04-26
    • 2012-09-25
    • 2011-03-25
    • 2014-12-29
    相关资源
    最近更新 更多