Python
前回 書いたコード、しばらく経ってからアクセスすると AccessTokenRefreshError なるエラーが発生することがわかった。 ERROR 2015-03-13 15:12:12,692 base.py:210] Internal Server Error: /task_manager/ Traceback (most recent call last): File "/App…
In-Context Cache とは https://cloud.google.com/appengine/docs/python/ndb/cache#incontext 1 リクエスト内で有効なキャッシュ 速度は In-Context Cache < Memcache < Datastore の順 In-Context Cache が microseconds に対し、Memcache は milliseconds…
ユーザーがログインしていなかった時にログイン画面にリダイレクトしてくれる @login_required デコレータ。 SDK に標準で備わっているものは Django に適用できなかったので作った。 コード util.py は参考までにオリジナルの appengine/ext/webapp/util.py…
長くなりそうなので、過去記事一覧をここにまとめ。
GAE(python) + django で、フォームのテストをしていた時に発生した。 (テストには pytest を使っている) ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment variable DJANGO_…
文字列の先頭と末尾から指定した文字を除去する strip([chars]) というメソッド。 これ、引数を指定しないと空白文字を除去するというのを今日知りました。 # 引数指定 >>> 'www.example.com'.strip('cmowz.') 'example' # 引数なし >>> ' www.example.com '…
新しく Google App Engine のアプリを作ろうと思った時に 既存のアプリを一旦コピーして、必要なもの以外は削除して...という作業が面倒なので Scaffold (と呼んでいい?)的な初期ファイル群を作ってみた。 特徴 README にも書きましたが パッケージ管理に…
以前 D3.js を使ってみた時の記事でも紹介したが、 python の SimpleHttpServer (python 2.x 系の場合) を使うと簡単にローカルサーバーを起動することができる。 # python 2.X $ python -m SimpleHTTPServer [ポート番号] # python 3 $ python -m http.serv…
前回の記事はこちら。 views.py を変更し、とりあえず Task 一覧を表示できるようになった。
前回 から引き続き。 とりあえず認証のリダイレクトが機能しつつ、 Credentials を NDB に保存できるところまで。
タイトルの通り。 Google App Engine で Tasks API を利用した簡単なアプリを作ろうとしたがOAuth2 の認証でハマってしまい、 現在も解決していないが調査記録をメモ。 最終的に解決したら別の記事として整理したい。
ちょいメモ。 以前 Google App Engine の外部ライブラリをzc.buildout で管理する 方法を書きましたが その時に気になっていたのが、./bin/buildout を実行するたびにライブラリのバックアップが作成されること。 $ ./bin/buildout Updating packages. packa…
vim で様々なプログラミング言語の文法チェック(syntax check) を 自動で行ってくれるプラグイン「Syntastic」ですが そのまま python ファイルに適用すると不要な警告まで色々出てしまい少々うっとうしいです。 ので、Syntastic と、今回は syntax checker …
タイトル通り、Google App Engine のユニットテストに pytest を使うため 以前勉強した zc.buildout でセットアップしてみた時のメモ。 GAE のライブラリを zc.buildout で管理する方法については以下の記事をご覧ください。
久しぶりに zc.buildout を使ったら以下のようなエラーが出た。 $ ./bin/buildout Upgraded: setuptools version 8.2.1; restarting. Generated script '/Users/...(略).../bin/buildout'. While: Installing. Getting section packages. Initializing secti…
ちょっとハマったのでメモ。 zsh + virtualenv という環境だと、インストールするのにちょっと注意が必要みたいです。
ちょいメモ。 ndb の "Repeated Property" について、仕様として気になることをちょっと調べてまとめてみました。
「パーフェクトpython」読んでます。 パーフェクトPython (PERFECT SERIES 5)作者:Pythonサポーターズ,露木 誠,ルイス・イアン,石本 敦夫,小田 切篤,保坂 翔馬,大谷 弘喜技術評論社Amazon 1個1個のトピックについて非常に説明が詳しいので、python という言…
python による文字列置換の書き方について。 いくつかあるのでまとめてみました。 python は2.7。 色々調べましたが、公式ドキュメントが一番詳しかった気がします。 (文中にリンクあり。または「リファレンス」参照)
djangoでテンプレートファイルを管理する時、置き場所の候補はたぶん2つ考えられます。(*1) project ディレクトリの直下にtemplatesディレクトリを作り、その下に application ごとのサブディレクトリを作る 各 application ディレクトリの直下にtemplatesデ…
前回の記事でpythonのライブラリ管理ツールであるzc.buildoutを一通り触ってみましたが、 今回はこのzc.buildoutを使ってGoogle App Engineの外部ライブラリを管理する仕組みを構成してみます。
ちょいメモ。 いきなりやり方。 # "items"はlist item = next((item for item in items if item), 'All are Nones') ここで、第2引数はNoneでない要素がなかった時に返されるデフォルト値なので、何でもいいです。
Google App Engine + Djangoという組み合わせでのほんとにちょっとした話。 Djangoのバージョンは1.5 です。
ちょいメモ。 最初、テンプレートに{{ entity.id }}とかやってたんだけど よく考えるとGAEのエンティティのIDはKeyクラスから取得するんですよね。 NDB Key Class | App Engine standard environment for Python 2 | Google Cloud つまり、pythonのコード中…
pythonのライブラリ管理ツールとして知られるzc.buildoutを使ってみました。 zc.buildoutは引っかかる日本語の情報が少ないのですが、 こちらの記事が非常に参考になりました。(というかここだけでOK)
DjangoのミドルウェアにCSRFミドルウェア(django.middleware.csrf.CsrfViewMiddleware)を指定していると、 csrf_tokenを渡していないPOSTメソッドは403エラーになってしまいます。 ただし、外部からのアクセスを可能にしたい場合など、特定のViewのメソッド…
想定しているシチュエーションとしてはこんな感じ。 データストアのあるモデルのKey名には、特定の情報を連結した文字列をurlsafeでBASE64エンコードした文字列を使っている エンティティのKey名に使用しているurlsafeな文字列だけがわかっていて、その文字…
テンプレートなどにアプリケーション名を直書きしたくないので 取得する方法がないか調べてみた話。
pythonで開発していたとき、pickleという聞き慣れない単語が出てきたので軽く調べてみた。 ちなみに、pickleという単語を辞書で引くと ~をピクルス[塩漬け・酢漬け]にする 〔金属を〕酸洗いする (SPACE ALCで検索した結果) ということで訳の分からない感…
(追記)その他のメモ Google App Engine Python Tutorialのメモ(1) - dackdive's blog Google App Engine Python Tutorialのメモ(2) - dackdive's blog Google App Engine Python Tutorialのメモ(3) - dackdive's blog Google App Engine Python Tutorialの…