Django 簡単スタート
ナビゲーションに移動
検索に移動
Django 簡単スタート
- { } は特定の値に置き換える
プロジェクト
作成
django-admin.py
- # django-admin.py startproject {project_name}
開発サーバー
起動
manage.py runserver
- # cd {project_name}
- # python manage.py runserver
データベース
設定
setting.pyを編集
- sqliteの場合
設定項目 | 内容 |
---|---|
DATABASE_ENGINE | 'sqlite3' |
DATABASE_NAME | 絶対パス名。存在しない場合、初回自動的に作成される。 |
syncdbの実行
- # python manage.py syncdb
アプリケーション
作成
- # python manage.py startapp {app_name}
モデル
作成
- from django.db import models
- class Hoge(models.Model):
- foo = models.CharField(max_length=10)
パスを通す
- settings.py
- INSTALLED_APPS = (
- :
- '{project_name}.{app_name}'
- )
テーブルの生成
- # python manage.py syncdb
Admin サイト
パスを通す
- settings.py
- INSTALLED_APPS = (
- :
- 'django.contrib.admin',
- )
- urls.py
- Uncomment the next two lines to enable the admin:
- from django.contrib import admin # <- コメントはずす
- admin.autodiscover() # <- コメントはずす
モデルを追加
- admin.py ファイルを{project_name}/{app_name}ディレクトリに追加
- from mysite.{app_name}.models import {model_class_name}
- from django.contrib import admin
- admin.site.register({model_class_name})
View
URL
URLパターン(タプル)
- (正規表現, Python コールバック関数 [, オプションのディクショナリ])
urls.py
- urlpatterns = patterns(,
- (r'^{app_name}/$', '{project_name}.{app_name}.views.{function_name}'),
- )
シンプルビュー
ビュー
- from django.template import Context, loader
- from django.http import HttpResponse
- from {project_name}.{app_name}.models import {model_class_name}
- def index(request):
- obj_list = {model_class_name}.objects.all()
- template = loader.get_template('{app_name}/{page_na,e}.html')
- c = Context({
- 'items': obj_list
- })
- return HttpResponse(t.render(c))
テンプレート {page_na,e}.html
- {% if items %}
- <ul>
- {% for item in items %}
- <li>テンプレート:Items.name</li>
- {% endfor %}
- </ul>
- {% else %}
- <p>No polls are available.</p>
- {% endif %}
© 2006 矢木浩人