2010-07-15 6 views
2

Je n'arrive pas à comprendre pourquoi j'obtiens cette erreur. S'il vous plaît aider.Django - dans l'index de la liste debug.py hors de portée

retraçage (le plus récent appel dernier):

fichier "C: \ Python26 \ lib \ site-packages \ django \ core serveurs \ \ basehttp.py", ligne 280, en terme self.result = application (self.environ, self.start_response)

fichier "C: \ Python26 \ lib \ site-packages \ django \ serveurs core \ \ basehttp.py", ligne 674, dans appel retour self.application (environ, start_response)

Fichier "C: \ Python26 \ lib \ paquets-de-site \ django \ core \ handlers \ wsgi.py", ligne 241, en appel réponse = self.get_response (demande)

fichier "C: \ Python26 \ lib \ site-packages \ django \ core Chariot \ \ BASE.PY", la ligne 142, en GET_RESPONSE retourner self.handle_uncaught_exception (demande, résolveur, exc_info)

fichier "C: \ Python26 \ lib \ site-packages \ django \ core Chariot \ \ BASE.PY", la ligne 166, en handle_uncaught_exception debug.technical_500_response de retour (request, * exc_info)

Fichier "C: \ Python26 \ lib \ paquets \ django \ views \ debug.py", ligne 58, dans technical_500_response html = reporter.get_traceback_html()

fichier "C: \ Python26 \ lib \ site-packages \ django \ vues \ debug.py", ligne 109, dans get_traceback_html cadres = self.get_traceback_frames()

Fichier "C: \ Python26 \ lib \ packages \ django \ views \ debug.py", ligne 228, dans get_traceback_frames pre_context_lineno, pre_context, context_line, post_context = self._get_lines_from_file (nomfichier, lineno, 7, chargeur, nom_module

Fichier "C: \ Python26 \ lib \ packages \ django \ views \ debug.py", ligne 209, dans _get_lines_from_file context_line = aigre CE [lineno] .strip ('\ n')

IndexError: liste des index hors de portée

peut-il être dû à l'utilisation notepad ++?

Répondre

6

Je sais que cette réponse est un peu en retard, mais il pourrait aider les autres :)

Dans mon cas, ce fut parce que je ne l'ai pas remis en marche apache et les anciens fichiers utilisés où et en conflit avec le nouveau (je don Je ne sais pas comment. Un redémarrage apache simple a résolu le problème (gracieux devrait fonctionner aussi je pense).

D'une manière générale, il semble que l'erreur se produit lorsqu'il y a un conflit dans les fichiers et pas un problème de votre code. Essayez de supprimer les fichiers pyc, en redémarrant django, apache ou ce qui utilise actuellement votre code python en ce moment.

Cela a fonctionné pour moi.

+0

Je pensais que je faisais redémarrer apache aussi bien mais quand j'ai vu ce poste, j'ai essayé "stop" exécuter ps -ef | grep http' (osx) il y avait encore beaucoup de processus httpd en cours d'exécution. J'ai donc complètement tué le processus httpd. alors commencé à résoudre le problème – naoko

+0

Même ici, nécessaire pour * redémarrer * et non * recharger * uwsgi après une mise à jour de Django. – benjaoming

0

Ceci est très étrange. Obtenez un utilitaire hexdump et voir ce que les octets sont dans le fichier source. Peut-être une marque de commande d'octets au début du fichier?

0

J'ai eu un problème similaire et la plupart des conseils sur Stackoverflow était soit a) supprimer les fichiers * .pyc et redémarrez le serveur ou b) vérifier pour les sauts de ligne Macintosh (pour les utilisateurs de Mac).

Les deux n'ont pas aidé.

L'erreur s'est avérée assez banale. Pour une raison quelconque pour "DEBUG = True" je recevais cette erreur dans mes fichiers journaux httpd, mais quand j'ai changé "DEBUG = False" j'ai commencé à obtenir l'erreur réelle dans les fichiers journaux à la place. Donc au moins dans mon cas c'était une fausse erreur dans le sens où vous ne voyiez pas le vrai problème à cause de quelque chose à voir avec le commutateur DEBUG = True/False.

En résumé, essayez DEBUG = False s'il est défini sur True ou vice versa.

Questions connexes