我的Django网络应用允许用户通过HTTP
和HTTPS
进行连接。我很好奇:有没有办法在 settings.py 中检测网址方案?如果是这样,怎么样?
答案 0 :(得分:1)
这不能在 settings.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 ...