「Django 簡単スタート」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Django 簡単スタート== [Django][Python] *{ } は特定の値に置き換える ===プロジェクト=== ====作成==== =====django-admin.py===== # django-ad…」) |
|||
1行目: | 1行目: | ||
==Django 簡単スタート== | ==Django 簡単スタート== | ||
− | [Django][Python] | + | [[Django][Python]] |
*{ } は特定の値に置き換える | *{ } は特定の値に置き換える | ||
===プロジェクト=== | ===プロジェクト=== | ||
58行目: | 58行目: | ||
*urls.py | *urls.py | ||
# Uncomment the next two lines to enable the admin: | # Uncomment the next two lines to enable the admin: | ||
− | from django.contrib import admin # | + | from django.contrib import admin # <- コメントはずす |
− | admin.autodiscover() # | + | admin.autodiscover() # <- コメントはずす |
=====モデルを追加===== | =====モデルを追加===== | ||
93行目: | 93行目: | ||
=====テンプレート {page_na,e}.html===== | =====テンプレート {page_na,e}.html===== | ||
{% if items %} | {% if items %} | ||
− | + | <ul> | |
{% for item in items %} | {% for item in items %} | ||
− | + | <li>{{ items.name }}</li> | |
{% endfor %} | {% endfor %} | ||
− | + | </ul> | |
{% else %} | {% else %} | ||
− | + | <p>No polls are available.</p> | |
{% endif %} | {% endif %} |
2020年2月15日 (土) 08:01時点における版
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の場合
設定項目 | 内容 |
---|---|
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 矢木浩人