2009年1月10日土曜日

作業メモ:


 最新 Python エクスプローラの Django ソース (djmall) を動かそうと Python 2.5.2、Django 0.95.4、pysqlite 2.5.1 をインストール。

 python manage.py syncdb

を実行するとなにやらエラーが出たが終了。

ブラウザで http://localhost:8000/admin を開くとうまくいったが、データの編集をしようとすると

pysqlite2._sqlite.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings. 


 なるエラーが出る。良く見ると syncdb のエラーも同じ。

text_factory で検索して行くとこんなページこんなページを見つける。
 '.connect(' で Django のソースに検索をかけ、ヒットした数十のなかから C:\Python25\Lib\site-packages\Django-0.95.4-py2.5.egg\django\db\backends\sqlite3\base.py の
 ・先頭付近に import sqlite3
 ・50行目あたりに self.connection.text_factory = sqlite3.OptimizedUnicode
 を追加。

 syncdb では表示が一部文字化けしたが、admin のデータ編集画面は動く。

----
 勘はまだ生きてるかな?

0 件のコメント:

コメントを投稿