【发布时间】:2012-11-26 12:37:00
【问题描述】:
我正在使用中间件来强制通过 HTTPS 提供某些页面:
class SSLRedirect:
def __init__(self):
self.enabled = getattr(settings, 'SSL_ENABLED')
def process_view(self, request, view_func, view_args, view_kwargs):
if SSL in view_kwargs:
secure = view_kwargs[SSL]
del view_kwargs[SSL]
else:
secure = False
if not self.enabled:
logger.debug('SSL Disabled')
return
...
问题是我在settings.py 中的切换似乎没有效果。如果我加载一个我没有设置SSL 的url,我会按预期在我的日志中收到SSL Disabled 消息。但是,如果我加载一个设置了SSL 的url,但SSL_ENABLED 在settings.py 中是False,则页面仍会尝试通过HTTPS 加载(并且失败,因为我在./mange.py runserver 上执行此操作) ,并且我没有收到任何日志消息。为什么这种方法不起作用?
【问题讨论】: