使用文件更改重新启动Django runserver

时间:2011-06-18 23:49:45

标签: django

如果某些文件(django-admin.py runserver)已更改,urls.py为什么会重新启动,而其他文件(模板文件)却没有?

是否有办法指定哪些文件runserver应监控更改,如果检测到修改则重新启动?

2 个答案:

答案 0 :(得分:6)

因为每个请求都会解析模板文件。它们没有加载到内存中。但是对于.py文件,它们是不同的,因为它们在服务器启动时被加载到内存中,因此需要重新启动才能重新加载它们。

LE: runserver仅检查其加载/需要运行的应用程序的文件中的更改。即settings.py文件,设置文件中指定的ROOT_URLCONF,INSTALLED_APPS等。

我认为没有办法让它监视某个未在runserver上加载的文件。反正你也不需要那样。为什么要为不影响应用程序执行的文件重新启动应用程序。

答案 1 :(得分:0)

OP表示有兴趣在模板文件更改时重新启动runserver。如果您使用 livereload 协议,您可以强制浏览器刷新模板创建的视图,这可能会有所帮助。

请参阅我对this question about reflecting updates to javascript files used by templates的回答,了解如何进行设置。它涉及在Django中为runserver功能安装附加组件。