Używam Django 1.5.1, Python 2.7.2 i IPython 0.13.2. Jeśli mam zrobić „python shell ./manage.py” od wewnątrz mojego katalogu projektu Django, pojawia się następujący błąd:Pobieranie NameError z Django 1.5 i IPython
from django import forms
class CommentForm(forms.Form):
name = forms.CharField()
NameError: name 'forms' is not defined.
wiem formy jest zdefiniowany jako widzę, kiedy to zrobić „dir (formularze) ". Zauważyłem, że ten błąd występuje tylko wtedy, gdy używam iPython w REPL. Jeśli uruchomię REPL i użyję tylko zwykłego, starego interpretera Pythona, błąd nie wystąpi.
Czy ktoś jeszcze napotkał ten problem? Jeśli tak, to czy wiesz, dlaczego tak się dzieje i czy istnieje jakieś obejście?
Powinienem dodać, że miałem problemy z tworzeniem klas w REPL, dopóki nie utworzyłem klasy meta w klasie i nie zdefiniowałem zmiennej "app_label". To nie miało znaczenia w tej sytuacji.
Dzięki.
Czy masz jakiś plik o nazwie 'forms.py' przez przypadek w folderze projektu? – eandersson
Django ma zwyczaj połykania uzasadnionych wyjątków i ponownej zbiórki leków generycznych. Chciałbym rzucić okiem na kod, a nawet go zmodyfikować, aby zobaczyć, jaki może być faktyczny wyjątek. – aychedee
eandersson, Nie, nie miałem pliku forms.py w projekcie, ale dodanie go nie rozwiązało problemu. Dzieki za sugestie. – William