我在教程的帮助下使用Django迈出了第一步,但我不理解我的行动结果。
当我修改我的python脚本并刷新我的页面时,就像有一个缓存存储旧版本的脚本。
实施例 我有这个错误:
global name 'Poll' is not defined
Exception Location: /var/www/pythonRoot/scrapfull/polls/views.py in index, line 5
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs)
File "/var/www/pythonRoot/scrapfull/polls/views.py" in index 5. return HttpResponse("Hello, world. Vous etes a l'index des sondages.")
所以,我看到关于我的民意调查模型的错误第5行,但在此测试脚本中没有调用任何民意调查行动。
但确实以前,第5行是
latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
'
为什么当我刷新时,我没有对当前保存的脚本的解释? 而且,当我频繁地点击“刷新”时,我可以看到一些随机的结果。为什么呢?
我的说法: Apache + mod_wsgi
答案 0 :(得分:1)
当然,出于性能原因, 是一个缓存。 mod_wsgi将您的脚本保存在内存中,而不是在每次有人访问您的应用程序时重新读取它们。
如果您在守护进程模式下运行mod_wsgi,告诉mod_wsgi重新加载源的最简单方法是touch
.wsgi
个文件:
$ touch path/to/your/app.wsgi
否则你将不得不重启Apache。
(另见this page)
我建议使用Django的buit-in webserver进行开发,因为它会自动重新加载你的脚本。