以前紹介した蔵書管理システムの基本的な機能(蔵書の閲覧、追加、検索)を実装し終えた。
上の写真右側に見えるのが検索用フォームと、追加する書籍のISBNを入力するフォーム。
まだまだ実現したい機能はたくさんあるし荒削りだけど、とりあえずは必要最小限の構成は実現できた。
あとは認証機能付けてWeb繋がるところどこからでも参照出来るようにしたいなぁ。
ココにトップページの静的htmlだけ置いときます(フォームを無効化してある)。
ご参考までに。。
以前紹介した蔵書管理システムの基本的な機能(蔵書の閲覧、追加、検索)を実装し終えた。
上の写真右側に見えるのが検索用フォームと、追加する書籍のISBNを入力するフォーム。
まだまだ実現したい機能はたくさんあるし荒削りだけど、とりあえずは必要最小限の構成は実現できた。
あとは認証機能付けてWeb繋がるところどこからでも参照出来るようにしたいなぁ。
ココにトップページの静的htmlだけ置いときます(フォームを無効化してある)。
ご参考までに。。
開発中の蔵書管理システムはPythonで実装してます。
今までPythonはちょっとしたデータ整形とか計算用スクリプトとかに使うのが主だったので、Webアプリで使うのは今回が(ほぼ)初めて。
ということで、いろいろと環境整えるのに苦労したりしたので、その過程で調査したものをメモ。
SimpleCGIHTTPServer
作ったCGIの動作をローカルで確認したいとき、わざわざマシンにApacheを導入するのは億劫。
なんで、その環境自体もPythonで用意する。
実はPython使うとシェルから下記のコマンド一行でCGIサーバを起動できたりする。
python -m CGIHTTPServer
あとは起動したディレクトリ内にhtbin、もしくはcgi-binと名付けたディレクトリを作成しその中に動作確認したいCGIを保存しておけばOK。
参考リンク(Running a Simple CGI Web Server)
デバッグ
Pythonの標準ライブラリに含まれているcgitbを使用する。
CGIソースの初めの方に下記の記述を入れておく。
import cgitb cgitb.enable()
この2行を加えておくと、プログラム中でエラーが発生した際に、発生個所とその内容をブラウザ上で表示してくれる。
あとそもそもこれが起動しない場合はPythonの文法上の記述ミスであることが多いので問題の切り分けに使える。
先日秋葉原を散策中、ジャンクショップでUSBバーコードリーダーを発見、試しに買ってみました。
これ使って何か作りたいなー、と思い立ち、試しに本のバーコード読み取って書籍のデータを管理する蔵書管理システムを作ってみました。
基本的な処理の流れは、
1.バーコードリーダーで本のバーコード(ISBN)を読む
2.ISBNを使ってAmazonから書籍データを取得する
3.書籍データをDBに保存する
4.CGIからDBにアクセスし、書籍データを読み取る。それを整形して一覧表示。
こんな感じ。
で、ただ表示するだけだと味気ないので表紙画像をクリックするとポップアップで詳細表示が出るようにしてみたりした。
これをベースに色々機能追加していきたいなーと画策中。