ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

Djangoでsyncdb時にデータを挿入する

Djangoでモデルを作っていると、例えば性別などのデフォルトデータを挿入したいことがある。管理パネルを使えば簡単にデータを追加できるのだが、初期開発時にはデータベースを作りなおすことが多々あるので、初期化の度に手動でデータを挿入するのは少々手間になる。

そして、性別のような単純なデータであればいいのだが、都道府県のように数の多いものや、もっと複雑なデータは手動で入力するのは現実的ではない。


ということでDjangoにはfixtureというデータベースにデータを挿入する機構が用意されている。

続きを読む

Django1.6のリリースとDjango1.4のメンテナンスについて

だいぶ遅くなりましたけどDjango1.6がリリースされてます。製作途中のサービスがあったので現在までアップデートしていませんでしたが、制作の区切りが良かったので今しがたテストサーバとクラウド、ローカルともにDjango1.6にアップグレードしました。リリースノートを読む限りでは、Django1.5から非互換な部分には影響を受けてないみたいなので、簡単な動作テストのみ行いそのまま動かしてます。

とにかく「settings.py」の中身がシンプルになっただけでもかなり嬉しい。今まで変更しない設定がつらつら書いてあったので別ファイル化するなどいろいろと修正していたのですが、Django1.6からはその必要がなさそう。データベースへのコネクション保持はよくわかっていませんがなにか嬉しいのでしょう。

本家のリリースノートはこちら。

日本語のハイライト記事はこちら。


Python3にもこれでやっと正式対応したので、私のPython3への移行も少しづつ進めて行けそうだ。

続きを読む

DjangoのViewがクラスベースになっていた(過去形)

少し思い出話をしよう。

Djangoを使い始めたのは1年と少々前になる。現在の会社に入ったのが去年の4月だが、それから空き時間で触り始めたのがきっかけになる。

当時はDjangoは1.4になっていたが、日本語訳されたDjangoのドキュメントはDjango1.0のものしか無かった。現在はDjango1.4のドキュメントの日本語訳が進められているが、Djangoの日本語サイトは現在もまだDjango1.0のドキュメントにリンクが張られている。日本語訳は完成しておらず誤字も多いが、これからDjangoを始めようと思っている方はDjango1.4のドキュメントを読んだほうがいい。Django1.0は現在のバージョンと互換性がない部分も多く、現在のDjangoではチュートリアルを進めることはできない。

ちなみに、現在の安定版はDjango1.5.2で、既にDjango1.6b2が出ているので近いうちにDjango1.6がリリースされるだろう。そうなると、Django1.4のサポートは終了してしまう。8月中にDjango1.6はリリース予定となっているので、そうなると現在翻訳を進めているDjango1.4のサポートが終了する。ブログにはDjango1.4のサポートは多少延長するかもしれないという記述はあるが、多少というのはいつくらいになるかわからないし、結局そう長くないだろう。

そんなこんなで英語の読めない私はDjango1.0のドキュメントを読んでDjangoを勉強した。そして上に書いている通りチュートリアルが動かなくて悩みに悩んだ。途中からDjango1.4のドキュメントを読むようになったのだが、1.0と1.4がごちゃごちゃになって正しい知識はないかと思う。

その一つが今しがた気づいた、DjangoのViewがクラスベースになっているという事だ。

続きを読む