2012-10-06 63 views
3

錯誤後,我正在按照本書的定義指南Django和我已經開始注意到的一件事是,每當我在我的模型文件中發生單個錯誤,服務器只是掛起並且在錯誤得到解決時不會自動重新啓動。必須手動重新啓動runserver models.py

這裏有一個例子:我保存文件,像這樣

email = models.EmailField(blank=Tru) 

這就提出了一個明顯的錯誤和堆棧跟蹤線現在

Validating models... 

Unhandled exception in thread started by <bound method Command.inner_run of <django.core.management.commands.runserver.Command object at 0x00000000025B0400>> 
Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 91, in inner_run 
    self.validate(display_num_errors=True) 
    File "C:\Python27\lib\site-packages\django\core\management\base.py", line 266, in validate 
    num_errors = get_validation_errors(s, app) 
    File "C:\Python27\lib\site-packages\django\core\management\validation.py", line 30, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 158, in get_app_errors 
    self._populate() 
    File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 64, in _populate 
    self.load_app(app_name, True) 
    File "C:\Python27\lib\site-packages\django\db\models\loading.py", line 88, in load_app 
    models = import_module('.models', app_name) 
    File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in import_module 
    __import__(name) 
    File "C:\....\models.py", line 17, in <module> 
    class Author(models.Model): 
    File "C:\...\models.py", line 20, in Author 
    email = models.EmailField(blank=Tru) 
NameError: name 'Tru' is not defined 

,如果我改變TruTrue,服務器不重新啓動。這是故意的嗎?或者我的應用程序有問題嗎?我剛開始學習Django,所以我不知道這是否是常見行爲。

我在Windows上運行Python 2.7.3和Django 1.4.1。

回答

2

不只是你 - 我也偶爾會遇到這種情況。

雖然開發服務器通常在代碼更改後重新啓動很不錯,但有些特別嚴重的錯誤(尤其是在您的models.py中)有時會導致它掛起。只需要終止它(Ctrl+C),重新啓動它,並繼續沿着你的快樂方式。

+0

是的,我知道我可以'CTRL + C',只是每次我犯錯都必須這樣做,這有點令人討厭。我會接受你的答案,如果真的沒有什麼我可以做的。但我想問另一個問題。這是'models.py'文件中最令人震驚的問題嗎?服務器是否用其他文件重新啓動?或者我應該一直在用Django期待這一點嗎? – Ashitaka

+0

開發服務器通常會成功重啓以更改url,views和對models.py的更改,這些更改不包含語法錯誤。 – dgel

相關問題