2010-01-17 12 views
2

Je suis sur Windows XP avec la dernière installation de Python 2.6 (et le serveur de développement a fonctionné jusqu'à hier soir). J'ai le chemin et les trucs du chemin Python tous mis en place, et mon serveur de dev a travaillé pour toujours. J'ai récemment remplacé mon django-trunk par une nouvelle traction du tronc de Django. Je pensais qu'il y avait peut-être une erreur d'importation ou quelque chose que Django n'attraperait pas dans l'une des model.py de mon application, donc j'ai commencé un nouveau projet (vide mais juste pour tester) et ne fonctionnait toujours pas. J'ai redémarré mon ordinateur et essayé à nouveau la nouvelle application vide python manage.py runserver 8080 et suis allé au http://127.0.0.1:8080/ et cela a fonctionné ("Félicitations, Django est insta ..."). Alors j'ai cédé à mon vrai projet et j'ai encore essayé et ça n'a pas marché. Je ne reçois pas une trace de pile ou quelque chose comme ça. Je reçois [17/Ja/2010 16:30:51] "GET/HTTP/1.1" 301 0 en sortie lorsque je visite http://127.0.0.1:8080/ dans mon invite CMD ou je ne reçois rien (même si je rafraichis, etc). Qu'est-ce que cela pourrait être?Django: Pourquoi je n'arrive pas à faire fonctionner mon serveur de développement?

Mise à jour (Important):

Firefox me dit Firefox can't find the server at www.127.0.0.1. même si je suis à http://127.0.0.1:8080/. Cela signifie-t-il que Django envoie vraiment un 301 à www.127.0.0.1 pour une autre raison?

J'ai supprimé PREPEND_WWW de settings.py et j'ai même supprimé toutes les applications (à l'exception de l'admin django et des applications prédéfinies) installées dans settings.py.

Mise à jour 2: Fonctionne dans Safari! Comment se peut-il? C'est comme si Firefox obtenait une sorte de 301 mais Safari fonctionne très bien.

+0

Étrange. Essayez d'exécuter 'python manage.py runserver 0.0.0.0: 8080'. Cela le rendra disponible sur toutes les interfaces possibles sur cette machine, mais si le navigateur et le serveur sont sur la même machine, cela ne devrait pas faire de différence. –

+0

Activer Firebug. Il enregistrera le 301, et vous pourrez voir ce que django vous dit. – Seth

+0

Je suggère de modifier le titre pour spécifier le problème prepend_www 301 – zalew

Répondre

5

yep, 301 redirection permanente est rappelé par firefox, j'ai été coincé une fois sur celui-là, le redémarrage ou le nettoyage de l'historique/cache n'a pas aidé, donc je l'ai couru sur un autre port.

modifier après avoir commenté:

en supposant que vous utilisez certains localhost_settings.py pour configurer votre projet au niveau local et que vous voulez encore www_redirect sur le site de production:

try: 
    from localhost_settings import * 
    PREPEND_WWW = False 
except ImportError: 
    PREPEND_WWW = True 

je le fais de cette façon

+0

Des conneries. Cela semble vraiment étrange. Je ne sais pas quel serait l'avantage de se souvenir. Enregistrer une seule requête sur le serveur avec le risque de ruiner un site web? Pensez si digg.com avait un 301 à Twitter pour juste une heure le lundi matin. Ils perdraient définitivement environ 10% de leur trafic :) – orokusaki

+0

Vous savez, la redirection permanente est censée être permanente, mais je ne sais pas pourquoi effacer tout le cache FF ne le réinitialise pas (au moins cela n'a pas fonctionné pour moi alors). la mise en place d'une nouvelle redirection fonctionne bien, donc le problème imaginaire digg-> twitter ne devrait pas se produire (sans mentionner que les redirections temporaires ne sont pas faites en installant un permanent), je ne sais pas comment le résoudre avec le django www rediriger cependant. – zalew

+1

Je pense que la raison pour laquelle l'effacement du cache ne le corrige pas est que, par défaut, l'option "Clear Recent History" de Firefox n'efface pas "Site Preferences", donc vous devez le vérifier. Cela permet d'économiser beaucoup plus d'informations sur les sites, y compris le niveau de zoom d'un site la dernière fois que vous avez visité (je suis un peu aveugle, donc je l'ai remarqué). – orokusaki

Questions connexes