【发布时间】:2012-08-05 00:54:09
【问题描述】:
当我执行时它似乎有点工作:
python manage.py runserver <hostname>:<port> --pdb.
发生的情况是它会收到GET 请求,但它实际上不会让我单步执行代码,输出类似于:
[07/Aug/2012 18:27:12] code 400, message Bad request syntax ('\x01\x01\x00\x01\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x02^\x02\x00\t\x11PATH_INFO/app/0/test/\x0e\x03REQUEST_METHODGET\x0c\x00CONTENT_TYPE\x0
e\x00CONTENT_LENGTH\x0c\x00QUERY_STRING\t\rHTTP_HOSTxx.xxx.xxx.xx\x0f')
HTTP_HOSTxx.xxx.xxx.xx" 400 -^ PATH_INFO/app/0/test/REQUEST_METHODGETCONTENT_TYPECONTENT_LENGTHQUERY_STRING
[07/Aug/2012 18:27:12] code 400, message Bad request syntax ('\x01\x01\x00\x01\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x02\x00\x00\x00\t\x0cPATH_INFO/favicon.ico\x0e\x03REQUEST_METHODGET\x0c\x00CONTENT_TYPE\x0e\
x00CONTENT_LENGTH\x0c\x00QUERY_STRING\t\rHTTP_HOSTxx.xxx.xxx.xx\x0f')
HTTP_HOSTxx.xxx.xxx.xx" 400 -
我相信您可以想象,在调试时,这并不能说明太多(至少,对于具有我知识水平的人来说)。
不过,由于我在开发服务器(不是本地主机)上运行 nginx,我希望能够以某种方式做到:
python manage.py runfcgi host=<hostname> port=<port> --settings=myproject.settings --pdb #<--this flag fails
即,该命令带有 --pdb 调用标志,一旦我通过浏览器向要调试的页面发送 get 请求,该命令就会进入 shell。
那么,这可能吗?
【问题讨论】:
-
我认为 django pdb 只对 runserver 命令有效。有什么理由必须使用 runfcgi 进行调试?
标签: django nginx webserver pdb fastcgi