2011-03-10 80 views
2

我在Windows 7上运行Jython(2.5.2)上的Django(1.2.5)(也尝试过在XP上使用相同的结果)。我遇到的问题是使用Django开发服务器。服务器的输出在每行的前几个字符中出现乱码。Django开发服务器与Jython的乱码输出

Jython的manage.py runserver命令
验证模型...
0发现错误

Django的版本1.2.5,使用设置 'Polls.settings'
开发服务器在http://127.0.0.1:8000/
退出运行服务器与CONTROL-C。
←[35; 1m [09/Mar/2011 16:33:09]“GET/HTTP/1.1”500 64949
←[0m←[32m [09/Mar/2011 16:33:16]“GET /管理HTTP/1.1" 301 0
←[0米←[M [09 /月/ 2011 16点33分17秒] “GET /管理/ HTTP/1.1” 200 1882
←[0米

问题是我实际上不能使用Ctrl-C(或Ctrl-Z等)停止服务器。如果我尝试Ctrl-Break,我会得到看起来很长的堆栈跟踪,但服务器仍在运行。阻止它的唯一方法是完全关闭终端窗口。

这只发生在Jython上运行Django时。在CPython上,没关系。

当输入数据时,例如设置管理超级用户等,这也会导致问题。数据被破坏,输入不正确。所以它似乎是一个字符编码问题。我已经遍地搜索,一直没有找到答案。我做错了什么,或者我需要做什么?谢谢。

+0

这实际上并没有乱码,这是格式化代码,没有透明地通过。 – 2011-03-10 00:45:12

+0

我明白了。我能做些什么来解决这个问题? – 2011-03-10 00:50:53

回答

0

DJANGO_COLORS环境变量设置为nocolor,以禁用Django尝试着色输出。

然后在Django bug跟踪器中记录一个bug。

+0

好的,这固定输出格式代码 - 谢谢。不幸的是,我仍然无法停止服务器(不关闭终端窗口),或者输入超级用户管理员密码(即使我按,它仍会永久保留在“密码:”提示符下。我将提交一个错误与Django直接,除非有解决方法..... – 2011-03-10 01:10:33

+0

Hrm。不,这听起来像直接与Django和Jython的交互问题。 – 2011-03-10 01:12:34

+0

所以也许我应该用Jython提交错误..... – 2011-03-10 01:17:09