Django:当本地 .py 文件更改并动态加载时,有没有办法防止开发服务器重新启动?
Posted
技术标签:
【中文标题】Django:当本地 .py 文件更改并动态加载时,有没有办法防止开发服务器重新启动?【英文标题】:Django: Is there a way to keep the dev server from restarting when a local .py file is changed and dynamically loaded? 【发布时间】:2016-07-25 01:37:36 【问题描述】:在 Django (1.9) 中,尝试动态加载 .py
文件(模块)(通过 importlib
)。动态重新加载就像一个魅力,但每次我重新加载一个模块时,开发服务器都会重新启动,不得不重新加载其他所有内容。
出于测试目的,我正在提取大量外部数据 (xml),并且每次环境重新启动时,它都必须重新加载所有这些外部 xml 数据。我希望能够只重新加载一个模块,并保持已经加载的 xml 数据完整,这样每次我更改一些 py 代码时它就不必经历那个过程。
是否有一个标志我可以设置/切换(或任何其他方法)以防止服务器重新启动此单个模块重新加载的整个过程?
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:如果您使用--noreload
参数运行开发服务器,它不会自动重新加载更改:
python manage.py runserver --noreload
禁用自动重新加载器。这意味着如果特定的 Python 模块已经加载到内存中,您在服务器运行时所做的任何 Python 代码更改都不会生效。
【讨论】:
以上是关于Django:当本地 .py 文件更改并动态加载时,有没有办法防止开发服务器重新启动?的主要内容,如果未能解决你的问题,请参考以下文章
Django本地调试时模拟服务器使用url方式访问静态文件(不建议使用)