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

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

ジャンゴと奏でる 〜数時間でおぼえるDjango〜「02簡単なブログを作る その1」

Django

ジャンゴと奏でる 〜数時間でおぼえるDjango〜「もくじ」


早速、簡単なブログのようなものを作ってみます。

一覧・追加・更新・削除

『一覧・追加・更新・削除』機能を利用することをテーマに、entriesアプリを作ります。

「entries」アプリケーション作成

ブログの基本的な機能を「entries」アプリで作っていきます。
まず、コマンド「startapp」で「entries」アプリ作成。

/hoge/jam $ python manage.py startapp entries
/hoge/jam $ ls
__init__.py     entries         settings.py     urls.py
__init__.pyc    manage.py       settings.pyc
/hoge/jam $ cd entries 
/hoge/jam/entries $ ls
__init__.py     models.py       views.py

「entries」ディレクトリと3つのファイルが作られました。

Model作成

model.pyでデータベースの定義をします。
/hoge/jam/entries/models.pyを以下のように書き換えてください。

from django.db import models

class Entry(models.Model):
    title = models.CharField(max_length = 100)
    content = models.TextField(max_length = 1000)
    
    def __unicode__(self):
        return self.title

    def get_absolute_url(self):
        return "/entries/detail/%i" % self.id

(「def __unicode__〜」と「def get_absolute_url〜」の説明はそのうち(´・ω・`))

syncdbでデータベース作成とadmin登録

model.pyで定義したデータベーステーブルを作成します。
初めてsyncdbするとスーパユーザアカウントを作成するか尋ねてくるので、yesと入力して作成しておきましょう。パスワードは後で使うので、忘れないようにメモなどしておいてください。(おぼえられなければ「1234」で)
「/hoge/jam/」ディレクトリに移動して、コマンド「python manager.py syncdb」をタイプしてください。

/hoge/jam $ python manage.py syncdb 
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table entries_entry

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'username'): admin
E-mail address: admin@admin.com
Password: 
Password (again): 
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Message model

開発用Webサーバ

確認用の開発用Webサーバを立ち上げてみましょう。
/hoge/jam/ディレクトリで

python manage.py runserver

とコマンドをいれてWebブラウザでhttp://127.0.0.1:8000/にアクセスしてみてください。
正常に動けば最初にアクセスした時のみ次の画面になります。

これから製作中に表示がおかしいと思った時は、Webサーバを再起動すると正常になる場合もあるので覚えておいてくださいね。