代码之家  ›  专栏  ›  技术社区  ›  Hassan Baig Altons

正在检测设置中的url方案。Django应用程序的副本

  •  0
  • Hassan Baig Altons  · 技术社区  · 10 年前

    我的Django网络应用程序允许用户通过两者进行连接 HTTP 和 HTTPS 。我很好奇:有没有方法检测 设置.py ? 如果是,如何?

    1 回复  |  直到 10 年前
        1
  •  1
  •   xyres    10 年前

    这不能在 设置.py 文件,因为它只包含常量和变量。它不处理请求。但这可以在中间件中完成。

    下面是一个中间件,它是检查URL方案的最简单形式:

    class DetectUrlScheme(object):
        """ Middleware for detecting URL scheme """
    
        def process_request(self, request):
            if request.is_secure():
                # HTTPS
                # do something ...
            else:
                # HTTP
                # do something ...
            return
    

    虽然,如果您只有几个视图,那么编写中间件似乎是一项开销。所以,您也可以在视图中检查URL方案。

    def myview(request):
        if request.is_secure():
            # HTTPS
            # do something ...
        else:
            # HTTP
            # do something ...