はじめての Django アプリ作成、その 2 (1)

スタバで作業。その 2 に着手。
その 2 は admin なソレ中心な模様。admin の有効化には以下の三つが必要との事。

  • INSTALLED_APPS に django.contrib.admin 追加
  • syncdb する
  • urls.py の "Uncomment this for admin:" のコメントアウト解除

settings.py 修正して syncdb

$ python manage.py syncdb
Creating table django_admin_log
Installing index for admin.LogEntry model
Loading 'initial_data' fixtures...
No fixtures found.
$

urls.py は以下

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),

    # Uncomment this for admin:
     (r'^admin/', include('django.contrib.admin.urls')),
)

で、サーバ起動か

$ python manage.py runserver
Validating models...
0 errors found.

Django version 0.96.1, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

で、ブラウザにて http://localhost:8000/admin にアクセスしたらログイン画面らしきナニが表示。最初ユーザとパスワードを忘れてたのですが、昨晩のログ見て無理矢理ログイン。
まだ Poll モデルを admin でナニできん、ってコトにて polls/models.py 修正

class Poll(models.Model):
    question = models.CharField(maxlength=200)
    pub_date = models.DateTimeField('date published')
    def __unicode__(self):
        return self.question
    def was_published_today(self):
        return self.pub_date.date() == datetime.date.today()
    class Admin:
        pass

# ケツに追加
で、http://localhost:8000/admin/ をリロードしたら Polls なソレが追加されているのが確認できた。スクリプトって本当に手軽だなぁ。
しかも CRUD なインターフェースが自動でできてるのか。テキストにも

しばらく操作してみて、これだけの機能をコードを全然書かずに実現したことに驚嘆しましょう。

って記述があるw
以下、admin ページに関する記述はスルーします。電池微妙。こーゆー時って小さいノートの方が有利だよねー。