GAEOのscaffoldで簡単アプリ作成
Google App Engine Oilにもscaffoldがついてます。これを使うと例のごとく簡単にCRUDアプリが作れてしまいます。
データはもちろん、GAEのdatastoreに入るのでそのあたりは、作成されるコードを見るとやり方が見えてきます。
ここではタイトルとURLを登録するブックマークアプリを作ってみます。
では、gaeoコマンドでアプリを作成。
> gaeo.py myapp > cd myapp
scaffoldを作成します
> gaeogen.py scaffold bookmarks index new show edit delete title:StringProperty(required=True) url:StringProperty(required=True) ...
これで完成。サーバ実行!
> dev_appserver.py .
http://localhost:8080/bookmarks にブラウザでアクセスする
「NEW」のリンクが表示されます。クリックするとURLとタイトルを入力する画面が表示されるので、入力してsubmitをクリック・・・
Internal Server Error BadValueError: Property url is required
とエラーが発生がするので、myapp\application\controller\bookmarks.py をエディタで開きます
ファイルの13行目あたりにある、urlとtitleのコメントを外して
class BookmarksController(BaseController): def create(self): r = Bookmarks( # Uncomment all required properties here. url = self.params.get('url', None), title = self.params.get('title', None), ) for prop in Bookmarks.properties():
ファイルを保存して再度、http://localhost:8080/bookmarks/new へアクセスして入力後submitをクリックすると登録されます。
データストアを見るには
登録されたローカル環境のdatastoreをみるにはhttp://localhost:8080/_ah/admin へアクセスしてListEntites ボタンをクリックします。
こんな感じ。
Keyのリンクをクリックすると、データ編集画面になりますが「Save Changes」ボタンをクリックしてもエラーになります。
ローカル環境のdatastoreは編集できないようです。deleteは可能です。
また、ローカル環境のデータストアは日本語も文字化けします。
本番環境では問題なく表示されるので、確認したい場合はデプロイ後、本番環境のデータストアを確認するのがよいでしょう。
とりあえずはここまで。