python

Flaskでデコレーターを使うとうまく動かなかった件とその対策

Flaskでデコレーターを使う方法を調べてみた。発端 Flaskでデコレーターを使ってみた うまく動いてる パスを増やした あれ?全部のパスで同じ関数呼ばれてない!? もしかしてデコレーター使えないの!? ちょっと検索するとFlaskでデコレーターを使う方法は…

mod_wsgi+flaskハマりどころメモ

flaskでちゃちゃっと書いたアプリをmod_wsgi環境で公開した時にハマった事メモ 構成 apache+mod_wsgi+mod_proxy TCP 8080のvhostでmod_wsgi環境 TCP 80のvhostで静的ファイル配信とリバースプロキシ設定 mod_wsgi側で対応した事 Authorizationヘッダーが取れ…

ファイルじゃなくて文字列で渡されたcsvをパースしたかった

ファイルじゃなくて文字列でcsvが欲しかった - やつらかやつらだの逆をしたかった。 どうってこと無く普通にStringIOだった。便利。csvモジュールはunicode文字列に対応していないんですって。 なのでunicode文字列をutf-8として文字列に変換してから渡して…

templateフィルタを追加する

今のDjangoと同じなんだと思うけど適当な情報が見つからなかったので載せておく。テンプレートフィルタを記述した、template.pyなどの名前のモジュールを用意する。 datetime.strftimeで日時をフォーマットするフィルタを作ってみた。 from django.template …

pythonのtraceback取得と文字コード

tracebackモジュールで取得できる→ http://www.python.jp/doc/2.5/lib/module-traceback.html # -*- coding: utf-8 -*- import traceback import sys class MyException(Exception): message = '' def __init__(self, message): self.message = message def …

ファイルじゃなくて文字列でcsvが欲しかった

GAE/Pでcsv作りたかったんだけど、クォートとか項目数が多かったりするとなーと思うとめんどくさい。 フォーマット文字列?テンプレート?リストをjoinする?とか思ったけどやっぱクォートがめんどくさい。そこでcsvモジュール。 クォートとかカンマ以外のデ…

Pythonの可変長引数

デフォルト値の設定された引数とかでなんとかなるので可変長引数はあまり書く機会がなかったんだけれど、動的にメソッドを呼ぶメソッドを作ったりしていると、可変長引数が必要になったので調べた時のメモ。 可変長引数な関数を定義する *argsと**kwargでメ…

Pythonで動的にメソッドを呼ぶ

インスタンスのメソッドを動的に呼び出す方法はどうするんだろう?と思ってたらなんてことはない。 getattrで関数オブジェクトとして取得して、それに「()」を付けて呼び出せば良かった。 ※getattrするので存在しないメソッドを呼んだ場合は例外が送出される…

Pythonでクラスを動的にインポートしてインスタンスを作りたかった

指定したクラスのインスタンスを動的に作りたい場合は__import__()を使えばできるんだそうです。→http://www.python.jp/doc/release/library/functions.html#__import__ インポートした結果帰ってくるのはクラスオブジェクトなので、インスタンス化する必要…

paginatorのページ番号リストを作る

paginatorで必要になるページ番号のリストを生成するコードをわざわざ書く必要が有ったのでPython初心者が書いてみた。のをここに書いておきます。ページ番号は正攻法だととてもめんどくさいのでどこかから引っ張ってくるか、と思って探していたんだけれど、…