2011-09-01から1ヶ月間の記事一覧

Flask の静的ファイルの取り扱い

昨日遭遇した現象。 仕様なのこれ? app.py #!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/<arg1>/<arg2>/<arg3>/', stri</arg3></arg2></arg1>…

WTForms の model_form に外部から注入

前回の続き WTForms の model_form を使えば一々フォームクラスを作らなくて良いが、各フィールドに対して独自の処理をしたい場合に困る。 例えば、特定のフィールドに対して別のバリデーションを追加したい場合や、エラーメッセージを変更したい場合。 そん…

Flask と SQLAlchemy と WTForms

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

Twitter Bootstrap を使って Pagination を作る

材料 Flask の Snippet に載っている Simple Pagination Jinja2 のインポート Twitter Bootstrap の Pagination css Flask の Snippet にある Simple Pagination を utils/pagintion.py とかにして保存する。 # -*- coding: utf-8 -*- from flask import Fla…

SQLAlchemy で like 検索した際のエスケープ

SQLAlchemy で like 検索をしたい時は以下のようにするらしい。 # DB は MySQL def search(query): rows = Session.query(Items).filter(Items.title.like('%\\' + query + '%', escape='\\')).all() return rows バインドしてないのが気になったけど、大丈…

WTForms でラジオボタン

WTForms でラジオボタンを使うメモ。 # オフィシャルサイトに書いてるけど…。 フォームクラス # -*- coding: utf-8 -*- from flaskext.wtf import Form, RadioField, validators from flaskext.babel import gettext as _ class(Form): active_flag = RadioF…

シリアライズして圧縮した際のデータサイズの差異

Redis の Python クライアントの redis-py で以下のような事をやってみた。 # -*- coding: utf-8 -*- from redis import Redis client = Redis(host=localhost) data = {u'foo': u'bar', u'baz': ['aaa', 'bbb', 'ccc']} client.set('sample', data) ret = c…

Twitter Bootstrap の topbar

CSS

Twitter Bootstrap という css フレームワークは管理画面やちょっとしたデモサイトで体裁を整えたいという場合にとても便利だと思う。 特に自分の場合デザインが良く分かってないのでこういうのは便利。 リリースのアナウンスが出た日に Github から css を…

Flask でアプリケーションを作る際のメモ

自分用のメモ。 Flask はマイクロフレームワークを詠っているが、大きめのアプリケーションを作る事が出来る。 自分で色々組み合わせて行くのが好きなので Flask を使う。 メンドクサイのなら、素直に Django とか Pyramid なフルスタックを使えば良い。 Mod…