如果某些文件(django-admin.py runserver
)已更改,urls.py
为什么会重新启动,而其他文件(模板文件)却没有?
是否有办法指定哪些文件runserver
应监控更改,如果检测到修改则重新启动?
答案 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功能安装附加组件。