capsctrldays

2007-03-05 (月) [長年日記]

[Django][Python] "[Django-01] Djangoとは" をやってみる。

最新Pythonエクスプローラ Django,TurboGears,Twisted,IronPython 完全攻略(Software Design 編集部)』に載ってたやつをやってみる。

djangoのインストール

# apt-get install python-django

プロジェクトの作成

$ cd ~/work
$ django-admin startproject djbookshelf

アプリケーションの作成

$ cd djbookshelf
$ ./manage.py startapp shelf

モデルの記述

クラスと属性の設定

$ emacs models.py

グローバルな設定

DB、タイムゾーン、言語の設定とINSTALLED_APPSの設定。

$ emacs ../settings.py
 INSTALLED_APPS = (
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'djbookshelf.self', # これ追加
 )

テーブル作成

モデルからテーブルを作ってくれる。

$ ./manage.py syncdb

エラったのでライブラリ追加

# apt-get install python-psycop

もっかいテーブル作成

$ ./manage.py syncdb

コンソールで確認してみる

まあ普通。

$ ./manage.py shell

サーバ起動

$ ./manage.py runserver 0.0.0.0:8000

Welcomeページは見れた。

で、次から迷子になった。

  • urls.pyのadmin用のコメントアウトを外した。
  • で、リロードすると「Page no found」。ここまでは書いてある。
  • 次に/adminにアクセス。管理画面がでるそうな。でねーーー。
  • 「管理インターフェースを利用する」のところに書いてあるやつを設定しなきゃいけないのかー。これは書くところが悪い気がする。
    • settings.pyのINSTALLED_APPSに「django.contrib.admin」追加
    • ./manage.py syncdb を再実行

あ、でた。

BookにインナークラスAdminを追加

きもーい。

テンプレート記述

$ mkdir -p ~/work/djbookshelf/shelf/templates/shelf/
$ cd ~/work/djbookshelf/shelf/templates/shelf/
$ touch book_list.html
$ emacs book_list.html

テンプレートは普通に書く。{%...%}って大丈夫?変えられる?

テンプレートの設定

urls.pyの編集

from djbookshelf.shelf.models import Book
urlpatterns = patterns('',
                       (r'^djbookshelf/$',
                        'django.views.generic.list_detail.object_list',
                        {'queryset': Book.objects.all(), 'paginate_by': 2}
                        ),)

えーー変数を渡すモデルなのーーー???

まあ、とりあえずここまで。

[tDiary] dp.SyntaxHighlighterを使って色づけする

かずひこさんが書いてたのでためしてみた。hikidoc.rbを以下のように変更します。

      begin
        raise if $1.empty?
        multi_pre_syntax_type = $1.downcase.untaint
        converted_text = restore_pre($2)
        pre_format = %Q|<textarea name="code" class="#{multi_pre_syntax_type}" cols="100" rows="5">%s</textarea>|
        "\n" + store_block( pre_format % converted_text ) + "\n\n"
      rescue

こんな感じになります。

JSファイルを節操なく読み込むのがイヤだなあ。

VimColorもいいなーとは思ったんだけど。

本日のツッコミ(全1件) [ツッコミを入れる]
1 tokuhirom (2007-03-05 (月) 22:13)

うちは VimColor の異常なまでの対応フォーマット数に惚れて VimColor にしてしまいました。というか、Perl は変態的なので syntax も dp.SyntaxHighlighter も対応してないという。<br><br># はてな記法なのではてなの実装に近づけたかったというところもありますが