2011-03-10 83 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