スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    djangoチュートリアルで激ハマリ

    0
      引き続きdjangoのチュートリアルで遊んでます。
      #本当はバリバリデータ投入しなきゃいけないんだけど、クライアントが遠方に出張中なのをイイことにサボり〜♪( ゚∀゚)

      で、一昨日は自動生成のadminサイトを表示しただけで喜んで終わったんですが←バカ
      今日、adminサイトからデータを保存してみようと思ったら、エラー(;´・ω・)
      Warning at admin/polls/poll/add
      Incorrect string value: '¥xE3¥x82¥x92¥xE8¥xBF¥xBD...' for column 'message' at row 1
      だそうです。

      このエラーメッセージ単体でググると、MySQLが吐いてるエラーみたい。
      ただ、phpmyadminから見ると、DBにはちゃんとデータは入ってる(日本語は文字化けしてるがナー ーー;)

      pythonのシェル(python関連は現在Win機でやってるので、コマンドプロンプト)にはステータス「500」の文字が…

      日本語がだめなのか?と思って試しに英文文字だけにしてリトライするも、同じWarning。
      だめだこりゃ。


      原因探求開始。
      そもそも、pollテーブルに「message」なんてカラムは無いわけで。
      pollテーブルには正常にデータ入ってるし。

      ということは、ログ系が怪しい!(#もっと早く気付けアフォ)

      ログ系のテーブルの中を片っぱしから見に行ったら、確かにauth_messageテーブルにmessageというカラムがある。
      フィールドタイプはlongtext。文字コードがlatin1_general_ci。
      ここに何をつっこもうとしてエラーってるの???

      現在入ってるデータが全部「???」されてることからして、auth_massageの保存言語が自動で日本語(adminの表示もチュートリアルと違って全部日本語化されてる)になっており、ラテン1に突っ込めないのが問題っぽい。
      ちょっと前にsymfonyでも言語・エンコード問題で苦しんだのに、djangoよ!お前もか⊂(_ _⊂⌒⊃

      DBへの照合順序とかSET NAMESとかいろいろ調べてからじゃないと先に進めなさげ。
      settings.pyをja-jpに直さないで始めればいいのかにゃ?

      面倒になったので今日はdjango辞めてsymfonyで遊ぼうっと。
      続きを読む >>


      とりあえずmod_pythonとdjangoのセットアップ

      0
        python+djangoを実運用環境で使うことになるかどうか、まだ微妙ですが、とりあえずセットアップだけはしておこうかと。

        クライアントさんの鯖ではなく、自分のメイン借鯖(これまたVPS@CentOS)にSSHログイン。
        久しぶり〜。

        Linuxにはデフォでpythonが入っているハズなので、まずどこにあるか捜す…のが本筋ですが^^;
        面倒くさがりなのでいきなりmod_pythonのソースをwgetしてきました。
        ./configure
        make
        make install
        特にエラーもなく無事インストール完了。
        で、make installの時に出てくるメッセージを注意深く?見ると、
        usr/lib/python2.2/…以下にmod_pythonのファイルをコピーしたよ!
        と書いてあります。
        探す手間が省けてラッキーw

        で、ついでにインストールされているpythonのバージョンが2.2だということもわかったので、python2.5のソースもwgetしてきました。
        ./configure --prefix=/usr/lib/python2.2
        make
        make install

        mysqlDBも同様にインスコ。
        djangoは公式のすすめに従ってsvnでインストール。
        あっけなくセットアップ完了しました(笑
        さて、使えるようになるのはいつのことやら。まだ色々つまづいてます( ´Д`)


        フレームワーク初心者から見たsymfonyとdjangoの比較

        0
          ようやく今日、プロジェクトのsymfonyへの移行が完全に終了した(厳密に言うと多少のデータメンテが残ってますが)ので、djangoのチュートリアルで小一時間遊んでみました。

          フレームワークというものに触れて2週間、symfonyとdjangoを触ってみての感想をば。

          ■symfonyのほうが自由度は高い。
          以前別の形式で作ったDBデータを再利用する場合は、symfonyのほうが便利な気がします。
          単純に、まず多対多リレーションに「深さ」があったりする変なDB設計by私を直せと言われそうだけど(爆
          値の形式とか。バリデートとか。

          ■djangoはモデルの設定さえがんばればOKなので楽。
          symfonyではpropel-generate-crudしても、結局あちこち直す羽目になりましたが(笑)
          djangoはモデルの設定だけで「完成形」のadminサイトが出来上がります。
          これは楽です。djangoが自慢するだけのことはあります。
          インターフェースデザインをもうちょっといじれると最高にいいのに。(#個人的に、自由度の点ではsymfonyの勝ち。その反面面倒なわけだけど。)

          全体的に、
          ・ユーザに相互に大量の情報を発信させるならsymfony
          ・adminが情報を発信し、ユーザが少しのフィードバックをするだけならdjango
          と感じました。
          あくまで現時点で。

          ※PHPは私の最初のWEBアプリ用言語で、もう1年近くあれこれやって慣れているのに対して、Pythonがつい最近勉強し始めたばかりの言語だという点を差し引いてお読みください。

          とはいえ、django+mod_pythonの「速さ」はとても魅力なので、pythonとdjangoを使ってもっと色々なことができないか?と研究は続けたいと思います。
          即採用は今の私のpythonスキルでは無理ぽ。



          PR

          calendar

          S M T W T F S
             1234
          567891011
          12131415161718
          19202122232425
          2627282930  
          << November 2017 >>

          twitter

          selected entries

          categories

          archives

          recent comment

          • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
            プログラマー
          • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
            よし
          • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
            ななうぇぶ
          • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
            よし
          • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
            よし
          • WindowsのPCで開発するphperがxhprofを使う方法
            ななうぇぶ
          • WindowsのPCで開発するphperがxhprofを使う方法
            川本
          • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
            よし
          • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
            77web
          • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
            ktz

          recent trackback

          • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
            常山日記
          • django対symfony 日本語メール送信(その1 symfony編)
            CPA-LABテクニカル
          • CodeIgniterでユーザー認証
            されどLAMPな日々
          • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
            常山日記
          • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
            サーバー用語集
          • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
            常山日記
          • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
            mitszoの日記
          • python多次元リストをsort(並べ替え)する方法?
            mitszoの日記
          • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
            Humming Via Kitchen
          • 日本語テキストをtruncate@django(Python全般にも??)
            常山日記

          recommend

          links

          profile

          search this site.

          others

          mobile

          qrcode

          powered

          無料ブログ作成サービス JUGEM