Django zwraca HTTP 301?

Mam widok django, który zwraca HTTP 301 na żądanie curl:

grapefruit:~ pete$ curl -I http://someurl
HTTP/1.1 301 MOVED PERMANENTLY
Date: Fri, 16 Oct 2009 19:01:08 GMT
Server: Apache/2.2.9 (Win32) mod_wsgi/2.5 Python/2.6.2 PHP/5.2.6
Location: http://someurl
Content-Type: text/html; charset=utf-8

Nie mogę pobrać zawartości strony z curl. Jeśli jednak odwiedzam stronę za pomocą przeglądarki, widzę zawartość zgodnie z oczekiwaniami.

Jakieś pomysły?

Dzięki, Pete

Author: slypete, 2009-10-16

3 answers

Prawdopodobnie żądasz adresu URL bez końcowego ukośnika i masz APPEND_SLASH ustawione na True (domyślne) w settings.py, więc Django przekierowuje na adres URL zawierający ukośnik.

 131
Author: Daniel Roseman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-16 19:12:31

Moim problemem był PREPEND_WWW, gdy używasz go w localhost zwraca błąd 301, właśnie utworzyłem plik ustawień lokalnych i ustawiłem go PREPEND_WWW = False

 4
Author: AbeEstrada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-24 17:00:56

W moim przypadku skomentowanie SecurityMiddleware na pliku settings.py załatwiło sprawę. Muszę powiedzieć, że dzieje się tak tylko podczas uruchamiania polecenia runserver (aka. podczas testowania). Z Apache nie wpada do pętli przekierowania.

 1
Author: Hassek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-27 14:16:24