Django SECURE_SSL_REDIRECT和301 HTTP响应

Dav*_* D. 4 django travis-ci django-rest-framework

在与本地不同的环境中,我DJ_SSL_REDIRECT = True为Django项目设置了。

但是现在,当我在其他环境(例如,在Travis CI中)中运行时,与REST API端点相关的所有单元测试都失败了。

发生的事情是所有HTTP响应都是301(由于我期望2XX4XX正在测试中)由于该DJ_SSL_REDIRECT设置,如doc中所述:

如果将SECURE_SSL_REDIRECT设置设置为True,SecurityMiddleware将永久(HTTP 301)将所有HTTP连接重定向到HTTPS。

在保持单元测试相关性的情况下,我该如何以一种简单的方式处理呢?谢谢。

注意:我正在使用Django Rest Framework 3.5

小智 5

我遇到了类似的问题,并使用“安全”属性解决了测试客户端发布ang get函数的问题,例如

    response = self.client.post('/accounts/signup/', self.getvalues(), follow=True, secure=True)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

御子