I am writing unittests for django views. I have observed that one of my views returns redirection code 301, which is not expected.
Here is my views.py mentioned earlier.
For me, the problem was that I mistakenly ran the tests with a setting.py file that had SECURE_SSL_REDIRECT = True. Changing to SECURE_SSL_REDIRECT = False solved the issue.
Another option is to use the client with secure=True, i.e.:
response = self.client.post('/query/', {}, secure=True)
which will make the client emulate an HTTPS request.