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

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
ページの作成:「==Django 簡単スタート== [Django][Python] *{ } は特定の値に置き換える ===プロジェクト=== ====作成==== =====django-admin.py===== # django-ad…」
==Django 簡単スタート==
[Django][Python]
*{ } は特定の値に置き換える
===プロジェクト===
====作成====
=====django-admin.py=====
# django-admin.py startproject {project_name}

===開発サーバー===
====起動====
=====manage.py runserver=====
# cd {project_name}
# python manage.py runserver

===データベース===
====設定====
=====setting.pyを編集=====
*sqliteの場合
{|class="wikitable"
!設定項目
!内容
|-
|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 %}

案内メニュー