我正在查看一个名为 django-cas 的库的一些代码并发现了这一行:
protocol = ('http://', 'https://')[request.is_secure()]
这行到底是什么意思/做什么?
请您参考如下方法:
它根据 bool 结果选择两个值之一。
('http://', 'https://')是一个元组request.is_secure()产生 bool 结果,True或False。- bool 值是
int的子类,True == 1,False == 0。
因此,如果请求是安全的(使用 SSL 加密,通过 https),protocol 也将设置为 https:// .
较新版本的 Python(2.5 及更高版本)允许 conditional expression ,这将更具可读性:
protocol = 'https://' if request.is_secure() else 'http://'
