pylons

コントローラの __before__ とキャッシュ

class UserController(BaseController):

    def __before__(self):
        return True

    @beaker_cache(expire=180, type='memory')
    def index(self):
        return "This is the index."

__before__() はキャッシュされず毎回呼ばれる。

デバッグ

debug = true はシングルプロセス

WSGIDaemonProcess example.com processes=1 threads=15 display-name=%{GROUP} → ok
WSGIDaemonProcess example.com processes=2 threads=15 display-name=%{GROUP} → Internal Server Error

 AssertionError: The EvalException middleware is not usable in a multi-process environment

csv ファイルを出力する

python - How do I return a CSV from a Pylons app? - Stack Overflow

import csv
from cStringIO import StringIO

def results_csv(self):
    response.headers['Content-Type'] = 'text/csv'
    response.headers['Content-disposition'] = 'attachment; filename=suggest.csv'
    s = StringIO()
    writer = csv.writer(s)
    writer.writerow(['header', 'header', 'header'])
    writer.writerow([123, 456, 789])
    return s.getvalue()