読者です 読者をやめる 読者になる 読者になる

Django

Django、チュートリアルの次にやったこと(2012Pythonアドベントカレンダー1日目 #python_adv)

2012Pythonアドベントカレンダー1日目を担当します、取りまとめ役の id:hirokiky です。 この記事では私がDjangoのチュートリアルの次にやってきたことを書きます。 内容としては「Django」に限った話ではなくて、そもそもプログラミング自体そんなにしたこ…

DjangoでオレオレWidgetを作ってみた(Renderer編)

ウィジェットとは、Django で HTML の入力エレメントを表現するためのオブジェクトです。ウィジェットは、 HTML のレンダリングや、個々のウィジェットに対応するデータをGET/POST 辞書から抽出する処理を行います。 http://djangoproject.jp/doc/ja/1.0/ref…

DjangoでTwitterBootstrap使うならdjango-boostrap-toolkitがオススメ

Django 製サイトで TwitterBootstrap を使いたいときはdjango-bootstrap-toolkit を使うのがオススメ。

Django の FormWizard で FormSet を使う

単一のフォームについて複数回入力するなら FormSet 、 複数種類のフォームを画面遷移なしで入力するなら FormWizard がある。FormWizard で FormSet を使ってみた

フォームにすでに入力されている値をテストする (オブジェクト更新用のビューをテスト)

オブジェクト更新用のビューのテストをするときに、フォームにすでに入力されている値をテスト したいことがある。 >>> response = self.client.get('/update/1/') response オブジェクトから、いかにフォームの初期値を取るかという問題。

FormSet を空の状態で提供する (オブジェクト作成用のビューで使える)

>>> HogeFormSet = modelformset_factory(Hoge) >>> hoge_formset = HogeFormSet() とすると、FormSet(ModelFormSet) が DB に保存されている既存のオブジェクトに束縛されて提供される。 この挙動はオブジェクトの新規作成をするビューで使うには好ましくな…

Django の FormSet で更新用のビュー作ろうとしてハマったことろ

Django の FormSet についてハマったメモある更新用のビューに FormSet を使いたかった。更新用のビューなので、既存のオブジェクトがある場合は FormSet をそれに対して束縛してやる必要があった。 環境 Django==1.4.1 解法 下記ブログ参考に。 Django mode…

WSGIからDjangoの流れを理解する

WSGIからの流れを大まかに掴めたのでまとめたい。かなり大まかには、この画像を念頭におけばいいと思う。 今回はDjango1.4を対象にしている。 注意 流れを理解するために読むべきソースコードへのリンクと、その順番をまとめてる。 読みやすさはあんまり考慮…

Django1.4のクラスベースビューにおけるHEADリクエストの処理について。

django.views.generic.base.TemplateViewなどのクラスベースビューの実装を見てみると、head()メソッドが書かれていないように見える。しかしHEADリクエストには対応してる、という話。「TemplateViewはHEAD対応していない」的なお話を聞くことがあるから書…

django-cms で言語別のページを用意しない方法

django-cms で言語別のページを用意しない方法。django-cms のチュートリアル (3. Introductory Tutorial — django cms 2.3 documentation) どおりに導入すると、例えば /tempura というURLに http://example.com/tempura/ http://example.com/en/tempura/ …

django-cms 導入中にurlsがインポートできない件の解決

django-cms のドキュメント (https://www.django-cms.org/en/documentation/) を参考に django-cms 導入デモ中のこと。 開発用サーバー起動後にブラウザから開くと ImportError at / No module named urls がでる。

django-blog-zinnia導入時のハマりどころ2点

Django製サイトにブログを導入するdjango-blog-zinniaについて、ハマりどころ書く。 http://django-blog-zinnia.com/documentation/getting-started/overview/ 以下2点でハマった。 Error: One or more models did not validate TemplateSyntaxError at /web…

Django製サイトにSphinx製ドキュメントを導入する方法

Django製のサイトにSphinx製のドキュメントをアッサリ導入する方法。 Sphinxドキュメントを http://example.com/docs/ に導入できる。 ユーザーグループのサイト作って、ドキュメントを/docs/以下に用意したい人とかが対象になると思う。記事の内容はほとん…

Django 1.4のproject template便利

Django 1.4からの機能であるproject templateが大変便利であると最近気づいた。 2012.9.21 追記 app templateじゃないよ app templateって書いてたけどproject templateだった。 Django & Pyramid Con で話した project templateについては Django & Pyramid…

Django1.4のドキュメント翻訳とかそのコミッタになったとか

django-docs-ja · GitHubのメンバーになりました。 これはDjangoのドキュメントの日本語訳をしているグループで、このたび1.4に対応させようと活動しています。 django-docs-ja/django-docs-ja · GitHub

Djangoのデバッグモードを動的に切り替えたい

DjagnoではsettingsモジュールのDEBUGの値(True/False)によってデバッグモードのオンオフができます。 ここで環境が開発or運用など複数ある場合に、各環境ごとにデバッグモードのオンオフを静的に設定するのは面倒。環境に応じて、DEBUGの値が動的に変わる…

Djagno自体のテストを実行する方法

Djangoにパッチを送るときなどに、Djangoそのもののテストを実行する必要があります。 ただ「Django テスト」でググってもDjangoプロジェクトのテストの話ばかりがヒットしてしまうので書いておきます。

Djangoにすごく長いCSRF token送りまくるDOS

フラフラとDjangoのチケットみてると #16827 (validate CSRF token (Check length)) – Django こんなものがあった。 すごく長いCSRF tokenもったリクエスト送りまくるDOS攻撃があるらしいんですが、Djangoはどんなに長いCSRF tokenでも受け付けてしまうらし…

Djangoのバージョンを切り替えて使う〜chdjangoの導入

Djangoのバージョンを切り替えながら使う方法。この記事ではインストールされているDjangoのバージョンをまるごと変えてしまう方法です。プロジェクトごとにDjangoのバージョンを切り替えるならプロジェクトごとに異なるバージョンのDjangoを使う - 偏った言…

feedjack 導入のまとめとハマった点(MEDIA_URL とか)

feedjack は Django ベースのフィードリーダです。Planet というフィードリーダに似ているらしい。 http://www.feedjack.org/ Planet Feed Reader 公式ページの Instraition が優秀なんで楽だけど、MEDIA_URL とかでハマったので書く。