我有使用PHP的经验,但现在必须管理python应用程序。它已经在实时服务器上开发和运行。在实时服务器上,我们也有beta.domain.com。除了主域应用程序之外,它有自己的相同源副本。
现在,当我们在模板中打印某些内容时会产生影响,但在此之前,在MVC之后,如果我们尝试打印或使用sys.exit()
中的manage.py
或稍后导入的“settings.py”或{{ 1}},根本没有任何影响这些文件。在刚刚提到的文件发生任何变化后,网站仍会呈现所有内容并显示相关模板。
即使我们删除
也是另一回事views.py
在return render_to_response('home.html', RequestContext(request, context))
内进行测试,没有任何效果,网站仍会使用模板进行渲染。
我是否需要考虑如果网站代码已经托管,那么为了在任何文件(.py)的代码中进行更改以反映新的代码,需要通过执行任何项目相关文件来重新初始化?
我不确定python代码是如何需要更新的,非常感谢任何快速帮助。
答案 0 :(得分:2)
无论何时更改代码,都需要重启Apache服务器。
<path to apache>/bin/apachectl restart
该进程的python解释器已经在以前的Web请求中加载了您的python模块。加载模块后,它将存储在内存中。下次请求到来时,Python解释器将只使用已经加载到内存中的模块版本。因此,您的更改后的代码将无法获取。
答案 1 :(得分:0)
请,请不要尝试编辑您的实时服务器上的文件。你只会让自己陷入可怕的困境。使用本地副本进行开发,最好通过版本控制系统进行克隆,并定期部署而不是每次更改。
要回答您的问题,您通常需要重新启动WSGI流程才能查看Python代码更改。一个简单的方法是touch
.wsgi文件,此时mod_wsgi将检测到它已更改,并重新加载所有内容。否则你只需重新加载Apache。
不幸的是,我不理解您对manage.py或sys.exit的引用。
答案 2 :(得分:0)
正如Sudipta所回答的那样,解决方案正在重新启动apache服务器。每次解释py文件时都会为每个相应的.py文件创建.pvc文件。当Apache服务器重新启动时,所有python源文件都会再次进行interproretted生成新的.pvc文件,只有这些文件才会运行,直到apache再次重启。