django-command-extensions で manage.py のコマンドを色々拡張する

django-command-extensions - Google Code

という manage.py のコマンドの拡張をいっぱい集めたプロジェクト(名前がdjango-extensionsに変更になるみたいです)があるというのを、

Screencast: Django Command Extensions | Surfing in Kansas

のブログで知ってちょっと面白そうなんで、いじってみることにしました。多分ここのブログを見た方が伝わるとおもいます。

まずはインストール

  • まずは、GoogleCodeからダウンロード。
  • 解凍して、できたディレクトリに移動。
  • python setup.py install を実行
  • 使いたいプロジェクトの settings.py の INSTALLED_APPS に、'extensions' を追加。(公式のドキュメントだと、'django_extensions'を追加って書いてあるけど、setup.py でいれると extensions になるっぽいです。)

これで色々と拡張された manage.py が使えるようになります。

例えば…

create_app
新しいアプリケーションを作るときに、startapp を使いますが、これを使うと、--template で新しいアプリケーションのテンプレート構造を指定して作成できます。要するに最初から、forms.pyとかadmin.pyのファイルが作られた状態のアプリケーションができあがるという話です。
describe_form
python manage.py describe_form guestbook.guestbook > guestbook/forms.py こんな感じに使えます。
generate_secret_key
settings.py に書く secret_key を作ってくれます。
graph_models
モデル相関図を表した GraphViz dot file を作ってくれます。
passwd
auth_user のユーザのパスワード変更ができます。
print_user_for_session
session key を渡すと中身を表示してくれます。
runserver_plus
runserver がパワーアップします。Werkzeugが必要ですが、デバッグが超便利になるかも。上記ブログのスクリーンキャストで紹介されてます。
shell_plus
個人的に今すぐ使いたいレベル。モデルを全部インポートした状態で、Python シェルを起動。
sqldiff
まだ実験段階っぽいけど。現在のモデルと実際の DB を比べて SQL の diff を出しくれる。

他にもまだあるっぽいです。JobsSchedulingっていうのが気になるけどまだ見てないです。あと、Field とか Model もあるみたいです。 TimeStampedModel っていう作成時間と更新時間が入ったベースモデルは割と便利かも。

というわけで Django は楽しいです。

Posted at: 
2008/10/29 23:35:58
2 Comments
1 TrackBack
Tags: 
Django
Trackback: 
http://blog.monospace.jp/2008/10/29/django_command_extensions/trackback/

TrackBacks

[Django][Google App Engine]巡回 - 常山日記

Blog: [Django] django-command-extensions で manage.py のコマンドを色々拡張する [ Mokuji ] Mokujiのβ版をリリースしました Django sitemap class for named views A Django Management Command for Amazon S3 Django From the Ground Up: Episode 13 Introducing djan

Created at: 
2008/10/30 17:21:05

Comments

everes

よさげな機能が満載ですねー

Created at: 
2008/10/30 10:32:28

hfunai

ですよねー。ますますDjangoが楽しくなります。

Created at: 
2008/10/31 02:02:22

Add Comment

Add Comment