2012-10-06 66 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

相关问题