我跟随着Django的权威指南这本书,我开始注意到的一件事是,每当我在我的模型文件中发生一个错误时,服务器就会挂起并且不会自动重启错误是固定的。
这是一个例子:我用这样的行保存文件
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
现在,如果我将Tru
更改为True
,则服务器不会重新启动。这是故意的吗?或者我的申请有问题吗?我刚刚开始学习Django,所以我不知道这是否是常见行为。
我在Windows上运行Python 2.7.3和Django 1.4.1。
答案 0 :(得分:2)
不只是你 - 我偶尔也会遇到这种情况。
虽然开发服务器通常非常适合在代码更改后重新启动,但某些特别严重的错误(特别是在models.py
中)有时会导致它挂起。只需要终止它(Ctrl+C
),重新启动它,然后继续你的快乐方式。