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

Google App Engine用フレームワーク Kay でログを出力する

「Google App Engine用フレームワーク Kay でログを出力する | 山本隆の開発日誌」より。 GoogleAppEngine用フレームワークKayでログを出力する方法を紹介します。ログを出力するには logging をインポートします。import logging ログレベルには「debug(デ…

Google App Engine用フレームワークKayでfeed配信する方法

「Google App Engine用フレームワークKayでfeed配信する方法 | 山本隆の開発日誌」より。GoogleAppEngine用フレームワークKayでfeed配信する方法を紹介します。Kayでfeed配信を行うには、werkzeug.contrib.atom.AtomFeedを使用します。werkzeug.contrib.atom…

precompileでGoogle App Engineのspin upが約2.5倍速くなる

「precompileでGoogle App Engineのspin upが約2.5倍速くなる | 山本隆の開発日誌」より。precompileでGoogle App Engineのspin upが約2.5倍速くなるようです。方法は、app.yamlのderived_file_type:に- python_precompiledを指定するだけ。app.yamlderived_…

はてな記法を無効にするオプションがほしい。

はてなダイアリーで記事を書くと、はてな記法を適用されて、思いがけないタグに変換されてしまう。はてな記法を無効にするオプションがほしい。

GoogleAppEngineでメールを送信しようとしたら、InvalidSenderError: Unauthorized sender

「GoogleAppEngineでメールを送信しようとしたら、InvalidSenderError: Unauthorized sender | 山本隆の開発日誌」より。Google App Engineでメールを送信しようとしたら、InvalidSenderError: Unauthorized senderというエラーメッセージ表示された。Google…

Kay 0.10.0 RC1でユニットテストを行う方法

「Kay 0.10.0 RC1でユニットテストを行う方法 | 山本隆の開発日誌」より。Google App Engine用フレームワーク Kay のバージョン 0.10.0 RC1が公開されています。 kay-framework – Project Hosting on Google Code Kay 0.10.0 RC1でユニットテストを行う方法…

Google App Engineでページング

「Google App Engineでページング | 山本隆の開発日誌」より。Google App Engineでページングを行う方法 App Engine でページングを行う方法 – Google App Engine – Google CodeGoogle App Engineの公式サイトより。「fetch(limit, offset=0)」は時間がかか…

GoogleAppEngine用フレームワーク Kay で画像ファイルをアップロードする

「GoogleAppEngine用フレームワーク Kay で画像ファイルをアップロードする | 山本隆の開発日誌」より。Google App Engine用フレームワークKayを使い、画像ファイルをアップロードする方法。画像を保存するためのモデルを用意します。 アップロードされた画…

Pythonの相対インポート

「Pythonの相対インポート | 山本隆の開発日誌」より。Python2.5では「.」を使うことで、相対インポートができる。A.B.Cというモジュールにおけるimportの動作from . import D #A.B.Dをインポート from .. import E #A.Eをインポート from ..F import G #A.F…

Pythonでmap関数は引数listを複数指定できる。

「Pythonでmap関数は引数listを複数指定できる。 | 山本隆の開発日誌」より。Pythonでmap関数は引数listを複数指定できる。>>> map(pow, [1,2,3], [2,3,4]) # 1**2, 2**3, 3**4 [1, 8, 81] ということを、『初めてのPython 第3版』を読んで知った。

Pythonでファクトリ関数(クロージャ)

「Pythonでファクトリ関数(クロージャ) | 山本隆の開発日誌」より。『初めてのPython 第3版』で、ファクトリ関数(クロージャ)の説明があった。入門書としては、とても高度な内容を扱っていると思う。>>> def maker(N): ... def action(X): ... return X ** N…

Google App Engine SDK 1.3.4がリリースされていました。

「Google App Engine SDK 1.3.4がリリースされていました。 | 山本隆の開発日誌」より。Google App Engine SDK 1.3.4がリリースされていました。 ダウンロード – Google App Engine – Google Code リリースノートより。 Version 1.3.4 – May 19, 2010 New bu…

Pythonの三項演算子

「Pythonの三項演算子 | 山本隆の開発日誌」より。Python2.5から三項演算子が導入された。if X: A = Y else: A = Zを次のように書くことができる。A = Y if X else ZPython2.5より前のバージョンでは、次のように書くことで、同じような処理ができる。 ただ…

GoogleAppEngineの強力なテストツールGAETestBaseがKayに標準添付された

「GoogleAppEngineの強力なテストツールGAETestBaseがKayに標準添付された | 山本隆の開発日誌」より。 GoogleAppEngine用フレームワークKayにGAETestBaseが標準添付されました。 そこで、GAETestBaseについて調べてみました。GAETestBaseを使うと何が嬉しい…

Kayのフォームのsubmitボタンの文字を変更する

「Kayのフォームのsubmitボタンの文字を変更する | 山本隆の開発日誌」よりKayのフォームのsubmitボタンの文字を変更するには、キーワード引数button_labelを使用します。myapp/template/index.html{{ form(button_label='ボタンの文字') | safe }}

Pythonのジェネレータ式

「Pythonのジェネレータ式 | 山本隆の開発日誌」より。Pythonにはリスト内包表記とよく似た表記のジェネレータ式がある。リスト内包表記はリストを返す。>>> [ x ** 2 for x in range(4)] [0, 1, 4, 9]ジェネレータ式は反復処理可能なオブジェクト「ジェネレ…

Pythonのディクショナリでfor文

「Pythonのディクショナリでfor文 | 山本隆の開発日誌」より。Pythonのディクショナリはイテレータが定義されているので、ディクショナリに対してforループを使用することができる。例として下記のデータを扱う。>>> d = {'Python': 'Guido van Rossum', ...…

Pythonで○日後の日付を計算する

「Pythonで○日後の日付を計算する | 山本隆の開発日誌」より。dateオブジェクトにtimedeltaオブジェクトを加算することで、○日後の日付を取得することができます。>>> import datetime >>> d = datetime.date(2010,1,1) >>> d datetime.date(2010, 1, 1) >>>…

Google App Engine用フレームワーク Kay の国際化の機能を有効にする

「Google App Engine用フレームワーク Kay の国際化の機能を有効にする | 山本隆の開発日誌」より。GoogleAppEngine用フレームワーク Kay の国際化の機能を有効にする方法。ドキュメント「12. メッセージ国際化 — Kay v0.10.0 documentation」には、INSTALLE…

Kayの確認画面の機能を試してみた。

「Kayの確認画面の機能を試してみた。 | 山本隆の開発日誌」より。Google App Engine用フレームワーク Kay のフォームに追加された確認画面の機能を試してみた。Formのコンストラクタで「use_confirmation=True」を指定すると、確認画面を使用できるようにな…

Google App Engine用フレームワーク Kay のJinja2で自作のフィルターを使う

「Google App Engine用フレームワーク Kay のJinja2で自作のフィルターを使う | 山本隆の開発日誌」より。 Google App Engine用フレームワークKayのテンプレートエンジンJinja2で自作のフィルターを使う方法。フィルター使用するには、settings.JINJA2_FILTE…

Google App Engine用フレームワーク Kay の新しいURLマッピングによる汎用ビューグループの設定

「Google App Engine用フレームワーク Kay の新しいURLマッピングによる汎用ビューグループの設定 | 山本隆の開発日誌」より。 Google App Engine用フレームワーク Kay の新しいURLマッピングが導入されたことで、汎用ビューグループを古い方式のURLマッピン…

Google App Engine用フレームワークKayの新しいURLマッピング

「Google App Engine用フレームワークKayの新しいURLマッピング | 山本隆の開発日誌」より。KayのURLマッピングに、新しい方式が導入されていました。Kay v0.10.0 documentation 5.5. Introducing a new interface for urlmapping従来の方式myapp/urls.pydef…

Google App Engine用フレームワークKayのMultiChoiceFieldの選択肢を実行時に設定する

「Google App Engine用フレームワークKayのMultiChoiceFieldの選択肢を実行時に設定する」より。GoogleAppEngine用フレームワークKayのMultiChoiceFieldの選択肢を実行時に設定する方法。FormのMultiChoiceFieldのchoices属性の値を変更します。myapp/views.…

Kayのgeneric view groupsのURLマッピングを変更する。

「Kayのgeneric view groupsのURLマッピングを変更する。」より。 前回の続き。 Kayのgeneric view groupsのURLマッピングを変更する方法。CRUDViewGroupのrule_template属性を修正することで、URLマッピングを変更することができます。CRUDViewGroupではrul…

GoogleAppEngine用フレームワーク「Kay」のgeneric view groupsを使ってみた。

「GoogleAppEngine用フレームワーク「Kay」のgeneric view groupsを使ってみた。」より。 Google App Engine用フレームワーク「Kay」のgeneric view groupsをドキュメント「21. Using generic view groups — Kay v0.10.0 documentation」を参考にして使って…

Google App Engine用フレームワークKayの日付入力欄をjQueryで入力しやすくする

「Google App Engine用フレームワークKayの日付入力欄をjQueryで入力しやすくする」より。 Google App Engine用フレームワーク「Kay」の日付入力欄をjQueryで入力しやすくする方法。Kayの日付入力欄(DateField)は一行入力欄(<input type=”text” >)で入力形式として「yyyy-mm-dd」…

Google App Engine用フレームワークKayで、Formの初期値を設定する

「Google App Engine用フレームワークKayで、Formの初期値を設定する」より。Google App Engine用フレームワークKayで、Formの初期値を設定するには、コンストラクタに初期値を辞書 (dictionary) で渡します。from kay.utils import forms class MyForm(form…

GoogleAppEngine用フレームワーク「Kay」で認証用ユーザーに属性を追加する

「GoogleAppEngine用フレームワーク「Kay」で認証用ユーザーに属性を追加する」より。GoogleAppEngine用フレームワーク「Kay」のデータストア認証で使用するDatastoreUserを継承して属性を追加する方法。データストア認証で使用するクラスに属性を追加するに…

Google App Engine用フレームワーク「Kay」でテーブルをストライプにする

「Google App Engine用フレームワーク「Kay」でテーブルをストライプにする」より。Google App Engine用フレームワーク「Kay」でテーブルをストライプにする方法。「Kay」ではテンプレートにJinja2を使用しています。Jinja2のヘルパー関数「loop.cycle」を使…