| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Django 簡単スタート

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

Django 簡単スタート

Django | Python |

  • { } は特定の値に置き換える

プロジェクト

作成

django-admin.py
  1. # django-admin.py startproject {project_name}

開発サーバー

起動

manage.py runserver
  1. # cd {project_name}
  2. # python manage.py runserver

データベース

設定

setting.pyを編集
設定項目 内容
DATABASE_ENGINE 'sqlite3'
DATABASE_NAME 絶対パス名。存在しない場合、初回自動的に作成される。

syncdbの実行

  1. # python manage.py syncdb

アプリケーション

作成

  1. # python manage.py startapp {app_name}

モデル

作成
  1. from django.db import models
  2. class Hoge(models.Model):
  3. foo = models.CharField(max_length=10)
パスを通す
  • settings.py
  1. INSTALLED_APPS = (
  2. :
  3. '{project_name}.{app_name}'
  4. )
テーブルの生成
  1. # python manage.py syncdb

Admin サイト

パスを通す
  • settings.py
  1. INSTALLED_APPS = (
  2. :
  3. 'django.contrib.admin',
  4. )
  • urls.py
  1. Uncomment the next two lines to enable the admin:
  1. from django.contrib import admin # <- コメントはずす
  2. admin.autodiscover() # <- コメントはずす
  3.  
モデルを追加
  • admin.py ファイルを{project_name}/{app_name}ディレクトリに追加
  1. from mysite.{app_name}.models import {model_class_name}
  2. from django.contrib import admin
  3. admin.site.register({model_class_name})

View

URL

URLパターン(タプル)
  1. (正規表現, Python コールバック関数 [, オプションのディクショナリ])
urls.py
  1. urlpatterns = patterns(,
  2. (r'^{app_name}/$', '{project_name}.{app_name}.views.{function_name}'),
  3. )

シンプルビュー

ビュー
  1. from django.template import Context, loader
  2. from django.http import HttpResponse
  3. from {project_name}.{app_name}.models import {model_class_name}
  4.  
  5. def index(request):
  6. obj_list = {model_class_name}.objects.all()
  7. template = loader.get_template('{app_name}/{page_na,e}.html')
  8. c = Context({
  9. 'items': obj_list
  10. })
  11. return HttpResponse(t.render(c))
テンプレート {page_na,e}.html
  1. {% if items %}
  2. <ul>
  3. {% for item in items %}
  4. <li>テンプレート:Items.name</li>
  5. {% endfor %}
  6. </ul>
  7. {% else %}
  8. <p>No polls are available.</p>
  9. {% endif %}