2010-10-01から1ヶ月間の記事一覧

入力内容をファイルに保存する

ユーザが入力した入力フォームの内容を、ファイルに保存するようなことを想定する。 そのためには、フォームデータをどうやって扱うかということを学ばねばならない。フォームデータの入力画面はこんな感じにしておく。 モデルも事前に定義しておく。titleと…

ファイルのアップロード

開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ)増田 泰 中居 良介 露木 誠 松原 豊 おすすめ平均 なんとか読み抜きました実用的な良書最初から最後までDjango初心者から中上級者までお薦めでき…

モデルからフォームを生成するためのModelFormクラス

ものすごく基本的なことだけど、悩んだら(昨日いただいたコメントも合わせて)分かりかけてきた。 データベースに保存した変数がいくつかある。→それら変数をモデルクラスで定義 ユーザが入力する変数がこれまたいくつかある。→それら変数をフォームクラス…

 簡単な入力後にページ遷移するまで

まだまだ、何をどうすれば何ができるかが理解できていないので、 開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ)3章までの内容を反芻してみる。ModelFormクラスのところはよく分からないので置…

 星を継ぐもの

星を継ぐもの (創元SF文庫)作者: ジェイムズ・P・ホーガン,池央耿出版社/メーカー: 東京創元社発売日: 1980/05/23メディア: 文庫購入: 207人 クリック: 2,160回この商品を含むブログ (481件) を見るハードSFというジャンルがあることを始めて知る。SF小説は…

dbshellエラー

user@debian0:/home/user/mysite$ ./manage.py dbshell Error: You appear not to have the 'sqlite3' program installed or on your path.よく分からないがsqliteでエラーがでる。pathの設定かと思われるが、原因が分からない。また、振り出しに戻る、とい…

 ImportErrorで使えず

matplotlibを使おうとするとエラーになる。ft2font.soがどうとかこうとかいわれている。これはちょっと面倒そうだ。 いろいろなライブラリをこれまでインストールしてきたが、最初からmacportsで全部インストールをやってれば問題なかったかもしれない。ソー…

 減らない迷惑メール

ある無料メールに送られてくる迷惑メールは、報告しても一向に減る様子が見られない(と個人的に感じる)。送る方が巧妙になっているのかもしれないが、そもそも無料の場合、対策をしていないのではないか?というぐらい、毎日同じような内容のメールが送ら…

まだ腑に落ちないけど馴染んできた

開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ) 全26章+付録、という構成の分厚い本なのだが、第3章の終わりに、「ここまでくれば一通りの説明は終わりだ。さあ、自分のアプリケーションを作り…

細かい処理あれこれ

文字列がディレクトリパスを表しているかどうか、判定する >>> import os >>> os.path.isdir("/home/user/work") True >>> os.path.isdir("/home/user/temp") Falseos.path.isdir()の引数が存在しないディレクトリの場合は、Falseが返る。 ユーザのhomeディ…

wxTextCtrlに値を自動入力

http://d.hatena.ne.jp/Megumi221/20101013 (wxTextCtrlを二つ並べて、最初の入力欄に値を入れると同時に、後の入力欄にも同じ値が入るようにしたい)の宿題を解決。 'abc'と順に最初のwxTextCtrlに入力する場合、'a'を入れた時点で次のwxTextCtrlに自動的…

Django試してみる

Webアプリを作るためにDjangoを使ってみることにした。 Pythonでほとんどの実装ができるのが利点。他のフレームワークもいくつか候補としては挙げられるのだろうが、自分のような初心者には日本語の分厚い解説本があるのが安心できる。実績も十分あるようだ…

(課題)TextCtrlに値を自動入力

wxTextCtrlを二つ並べて、最初の入力欄に値を入れると同時に、後の入力欄にも同じ値が入るようにしたい。'abc'と順に最初のwxTextCtrlに入力する場合、'a'を入れた時点で次のwxTextCtrlに自動的に'a'が入力されるような感じ。 EVT_TEXTで、どうにかなりそう…

O/Rマッパーの仕組みを学ぶ

「みんなのPython Webアプリ編」chapter10まで到達。 簡単なO/Rマッパーを実装することで、その仕組みを学ぶ。自分でO/Rマッパーを作ることはまずないので、ありがたい解説だ。 ここまででテンプレートエンジンとO/Rマッパーの仕組みを(大体)理解できた。 …

最近読んだ本

言語設計者たちが考えること (THEORY/IN/PRACTICE)作者: Federico Biancuzzi,Shane Warden,伊藤真浩,頃末和義,佐藤嘉一,鈴木幸敏,村上雅章出版社/メーカー: オライリージャパン発売日: 2010/09/27メディア: 大型本購入: 11人 クリック: 411回この商品を含む…

テンプレートエンジンを試してみる

みんなのPython Webアプリ編 [みんなのシリーズ] Chapter9の「テンプレートエンジン」のところまで到達。 テンプレートエンジンの原理は分かったつもりになれたので、stringモジュールに含まれるTemplateクラスを使って実際にやってみる。これまで、モジュー…

データベースにデータを保存する

シリアライズすることで、データをファイルに保存できるようになったのが、前回までの成果。現実問題として、複数人が同じデータを扱うことを想定すると、排他制御が必要になる。そのためには、データベースを使うのがよいというのは常識だ。そこで、手軽に…

データをファイルで保存する

Webアプリでデータを保存してみる。YAML形式のファイルに保存する。 クライアント側のブラウザで、ユーザがIDとパスワードを入力し、submitボタンを押すとサーバ側でスクリプトidandpass.pyが実行される。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <form action="/cgi-bin/idandpass.py" method="POST"> Input user ID and password<br /> </form></body></html>

サーバに処理内容のリクエストを送信する

前回は、サーバ側で何か処理をさせるところまでやった。クライアント側からは、何の指示もしていなかったので、今回は、クライアントからの指示内容に従って、サーバの処理を変える方法を検討してみた。 クライアント側がブラウザで見る画面は以下の通り。ラ…

サーバ側で外部プログラムの実行

3年前に買った「みんなのPython Webアプリ編」を再読する。それから実習。CGIHTTPServerライブラリを使って、pythonプログラムをWebサーバで実行する練習から。 pythonプログラムの実行というより、python以外の外部プログラムをpythonコードから実行するよ…

 MDIFrameの挙動がWindowsとLinuxで異なる

MDIというのは、90年代の始めにMicrosoftが考案したものなのだな。Excelなんかがすぐに思い浮かぶが、一つのフレーム(親フレーム)の中にたくさんのフレーム(子フレーム)を表示する方法だ。 wxPythonでも実装できるのだが、Windowsネイティブのwidgetsを…

pythonプログラムの実行OSの判別方法

pythonのプログラムを実行する場合に、実行するOSによって異なる処理をさせたい。 自分が何のOSで実行されているかを、プログラム中で判別できればいいだけなのだが、何かエレガントな書き方(というか定石)があったような気がするが思いつかない。泥臭く、…

今日のスクリプト

windowsからlinuxへファイルを持っていったときに、改行コードを変換。ついでにモードを変更して、pycファイルを削除。 #!/bin/sh rm $1/*pyc FILE=`ls $1/*py` for F in $FILE do tr -d '\r' < $F > tempfile mv tempfile $F chmod 644 $F done

バージョン1.0.0

http://matplotlib.sourceforge.net/ 夏にリリースされていた。いままで数年間使っていたのは0.9Xだったので、気づいたときには感動した。ついに1.0。 作っている人たちの感慨も一入と思われ。

複数のファイルを同時に開く

Vim

知らなかったので、メモ。 http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/command/vi.html viコマンドの引数に複数のファイルを指定すると、複数のファイルを同時に開くことができる。画面上で見えているのは、最初に指定されたファイルだけなので、次…