相当于PHP“echo something; exit();”用Python / Django?

时间:2010-04-30 20:43:05

标签: python django

有时调试内容的最佳方法是在页面上打印一些内容,exit(),如何在Python / Django站点中执行此操作?

e.g。用PHP:

echo $var;
exit();

由于

4 个答案:

答案 0 :(得分:16)

将它放在你的视图功能中:

from django.http import HttpResponse
return HttpResponse(str(var))

答案 1 :(得分:14)

我只想提供一个替代答案:只需使用print语句并使用python manage.py runserver

为您的django网站提供服务

在这种情况下,print语句会显示在您的shell中,并且您的网站会继续正常运行。

答案 2 :(得分:1)

如果您使用mod_wsgi,您可以说:

print var
raise SystemExit

SystemExit异常实际上不会导致整个进程像正常情况一样退出,但只会导致该请求退出,假设没有更高的代码捕获它并忽略它。

确保您使用的是mod_wsgi 3.X.如果使用较旧的mod_wsgi,则需要改为:

import sys
print >> sys.stderr
raise SystemExit

其他WSGI服务器也可能以同样的方式处理请求中的SystemExit,比如你需要试验一下如果使用其他托管解决方案会发生什么。

有关调试WSGI应用程序的其他信息,请阅读:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques

答案 3 :(得分:-1)

如果您不想在打印机上崩溃mod_wsgi,请在您的wsgi文件中执行此操作

sys.stdout = sys.stderr
然后将

打印件发送到error_log