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

django-generate-scaffoldをさわってみたメモ

こちらのエントリを見てdjango-generate-saffoldが面白そうだったのでさわってみました

Python の Web フレームワーク Django って凄い」ってアピールのに "django-generate-scaffold" を使って3分でブログを作るとよいかもな件
http://d.hatena.ne.jp/CortYuming/20120619/p1

導入方法やscaffoldの生成方法などはすべて上記のエントリに書いてありますので、その他気づいたことなどをメモ。


  • views関数、テンプレート、urls.py、models.pyなど、CRUD操作に必要なひととおりの実装が出力される
  • viewsはgenericビューを使いまくりで、少ないコード量でCRUD操作が実装されている
from django.views.generic import ListView, DetailView, CreateView, \
                                 DeleteView, UpdateView, \
                                 ArchiveIndexView, DateDetailView, \
                                 DayArchiveView, MonthArchiveView, \
                                 TodayArchiveView, WeekArchiveView, \
                                 YearArchiveView
  • startappでつけるアプリの名前とモデルの名前を同じにすると、TemplateNotFoundなエラーになる。views.pyに定義されるget_template_namesというメソッドがそういう状態を考慮していないと思われる。違う名前をつければ問題ない
  • cssやjsなどの静的ファイルは出力しない。cssに関しては、生成される基底テンプレート(base.html)にtwitter bootstrap v2.0.3がべったり貼り付けられている。
  • テストコードは生成しない


genericビューについてあまりよく知らないので生成されたコードを読むだけでも勉強になります。
ブログlikeな機能をもつアプリを作るときは、最初にこれでコードを出力して、動かしながら修正を加えていくって方法が使えそうな気がします。