タグ

Pythonとdjangoに関するhaneimoのブックマーク (3)

  • クラスベースの汎用ビューを使って高品質プログラミング - present

    Django の汎用ビューの使い方を調べるために公式ドキュメントを読んだんですが、今更ながら Django1.3 で汎用ビューが関数からクラスに変わっていることを知りました。1.3 リリースは今年の3月23日だから、8か月近く知らなかったことになるかな。ハズカシイ。 Class-based views | Django documentation | Django 関数版の汎用ビューもまだ使えるみたいですが、ドキュメントを見た感じたと、クラスベースの方が便利そう。 試しにいくつかのビューをクラスベースの汎用ビューを使って実装してみました。現在開発しているサービスのコードから抜粋。 from django.views.generic import ListView class UserPostListView(ListView): # ビューが描画に使うテンプレートを指定 template_

    クラスベースの汎用ビューを使って高品質プログラミング - present
  • DjangoのORMを使って検索フォームを作るときに少しでも楽をしたい - 今川館

    02:14djangoのQuerySet.filterを都度呼ぶのは面倒くさいdjangoで検索画面を作るとき、よくこういうプログラムを書くと思う。 検索条件を入力する為のFormを作る。 Formの入力値で入力されているものだけ条件指定する。入力されていない条件は絞り込みしない。そういうとき、こんな風にプログラムを書くのが結構な苦痛だ。 from django.db.models import Q persons = Person.objects.all() dct = {"name" : "oyakata"} if dct.get("name"): persons.filter(name=dct["name"]) if dct.get("age"): # ORの条件指定にしなければならない -> 面倒くさい # 自分のフィールドだけでなく、ForeignKeyのフィールドも見なければな

  • Apache と mod_python で Django を動かす — Django v1.0 documentation

    Django をプロダクションサーバ上で動かす設定として、現状では Apache と mod_python の組み合わせを推奨しています。 mod_python は mod_perl とよく似ていて (影響を受けていて)、 Apache の中に Python を埋め込み、サーバ起動時に Python のコードをメモリ上に読み込みます。 読み込まれたコードは Apache のプロセスが生きている間ずっと残るので、他のや りかたに比べて明確なパフォーマンスの向上につながります。 Django を mod_python で動かす場合、 Apache 2.x と mod_python 3.x が必要です。 また、 Apache を使う場合、 worker MPM ではなく prefork MPM を使うよう 勧めます。 興味があれば FastCGI, SCGI, AJP で Django を動かす

  • 1