def auto_reload(request):
from django.utils import autoreload
import sys
import os
try:
module_name = request.GET["module_name"]
except KeyError:
return render_to_response('page/reload.html',{'modules': sys.modules,})
#动态import
exec "import %s" % (module_name)
#根据module_name重新载入需要重载的模块
return render_to_response('page/reload.html',{'modules': sys.modules,})
以上代码可以将改动后的代码热部署到服务器,当然您也可以写个线程定时检查是否有改动过的py文件,如果有则reload,而上述的方法需要手动指定一个module name进行reload。。但实际上,该种重新装载方式不支持settings.py的装载。python中reload的方法还有很多。。