サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012/11/15

web2pyをやっています-その2

昨日の続きです。"Postbacks"はすぐに終わり、次はようやくDBアクセスです。ここからが本格的。

イメージファイルをDBに書き込んで、Web画面上に表示させるというもの。DBはSQLite。これもサイトにある通りそのまま打ち込んでいけばよい。ブラウザでappadminにアクセスすれば、DBに登録する画面になります。これは面白い。

RailsやCakePHPでScaffoldするのにコマンドを打ちますが、web2pyではScaffoldに相当すること(web2pyではScaffoldという呼び方はしないのか、この語は出てこないようだ)をすべてブラウザからできるのが非常に楽。Pierro氏がweb2pyを開発した理由が、djangoを生徒に教える時に習得時間がかかり過ぎて困ったため、習得の楽なツールを、ということらしいのですが、このScaffoldの点などを見ると確かに習得が楽だと思います。

さて、この辺でDBアクセスはなんとかなりそうなので、目的のDBアクセスに移りました。ここで少し躓きました。というのも、Pierro氏のチュートリアルではweb2pyで新規DBを作るわけですが、今度は既存のDB。同じようにやると、"Table already exists."といったエラーが出ます。調べてみると、db.pyを書くときに

db.define_table('comment',
Field('image_id', 'reference image'),
Field('author'),
Field('email'),
Field('body', 'text'))

としましたが、既存DBの時は、

db.define_table('comment',
Field('image_id', 'reference image'),
Field('author'),
Field('email'),
Field('body', 'text'), migrate=False)

とするようです。migrateの意味がきちんとわかっているわけではありませんが、こうすると既存DBにアクセスできました。既存DBにはidという名前のintegerタイプのフィールドが必要です。これはweb2pyが使います。この辺りはRailsやCakePHPと同じ。CakePHPのように、テーブル名を複数形にしないとダメ(実は複数形でなくてもできるのだが、初心者にはその設定が難しい)といった制約がないのがうれしい。この点でもweb2pyはすばらしいと思います。

スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1380-1455eb4f

■  カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。