Home > Django

Django Archive

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

Djangoの管理画面を使ってみる

こんにちは。mattyです。

スクリプト言語Pythonで作られたWebアプリケーションフレームワーク Django(ジャンゴ)を使ってみようと思い少し調べてみました。

まず何故ジャンゴという名称なのか。
由来はメイン開発者の方が好きなミュージシャンの名前ということでした。ついでに「ジャンゴ」の正しい発音の音声ファイルを見つけました。正しい発音の音声ファイル
またこのフレームワークの特徴として

  • Pythonの創始者に気に入られている
  • ワシントンポストなどの大企業などで使われている
  • 従来のMVCではなくMTV(M:Model/T:Template/V:View)
  • 開発サーバーが内蔵されている
  • 管理画面が簡単に作成できる
  • 詳細なエラーをブラウザで見られる
  • ORマッパー(Pythonのオブジェクトを通じてRDBを操作可能)
などがあげられていましたが、今回手始めに「管理画面が簡単に作成できる」を試してみようと思います。 DBはSQLiteを使うことにしました。
以下Windowsでの手順です。

STEP1:環境整備

PythonとDjangoをダウンロードしてインストールします。

Python2.6のインストール

http://www.python.org/ からインストーラーをダウンロードします。
ダウンロードしたmsiファイルを起動し、指示に従ってインストールします。
環境変数に「C:\Python26」と「C:\Python26\Scripts」を追加しておくと便利です (環境変数は、マイコンピュータ→プロパティから設定できます)。
このあと、コマンドプロンプトを起動し「python」と入力して「>>>」が出てくるように なっていれば成功です。

Django1.0.2のインストール

http://www.djangoproject.com/ から Django-1.0.2-final.tar.gz をダウンロードします。
解凍すると Django-1.0.2-final フォルダができるので、コマンドプロンプトでこの位置まで移動し、 インストールコマンドを打って完了です。コマンドは以下のように打ちます。

> cd c:\Document and Settings\user\デスクトップ\Django-1.0.2-final\django
> python setup.py install

STEP2:プロジェクトを作成する

Djangoではまず「プロジェクト」を作成することから始まるということで コマンドプロンプトを立ち上げてプロジェクトを作成したいディレクトリに移動し 下のコマンドを打ち込みます。

> django-admin.py startproject sample

うまく行くとsampleというフォルダが作られ、sampleプロジェク作成完了です。

STEP3:アプリケーションを作成する

次に「アプリケーション」を作成するため、コマンドプロンプトで出来たプロジェクトフォルダの中に移動しアプリケーション作成コマンドを打ちます。

> python manage.py startapp app

これでappというフォルダが作成され、appアプリケーション作成完了です。

STEP4:データベースの指定とアプリケーションの指定

sampleプロジェクトフォルダ直下の「settings.py」ファイルにデータベースとアプリケーションの指定をします。

# Django settings for sample project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@domain.com'),
)

MANAGERS = ADMINS

import os
BASE_DIR = os.path.abspath(os.path.dirname(__file__))

DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = os.path.join(BASE_DIR, 'data.db')
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.

・
・
・

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'app',
)

STEP5:アプリケーションにアクセスするためのURLの指定

sampleプロジェクトフォルダ直下の

urls.py

ファイルにアプリケーションにアクセスするURLを定義します。
from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^sample/', include('sample.foo.urls')),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/(.*)', admin.site.root),
)

STEP6:モデルの作成(データベーステーブルを作成)

appプロジェクトフォルダ直下の

models.py

ファイルにモデル(=データベースのテーブル)を定義します。 今回は下記5項目を定義してみました。
  • 短いテキスト
  • 長いテキスト
  • 時刻
  • メールアドレス
  • 真偽値
from django.db import models

class Hoge(models.Model):
	title = models.CharField(max_length=30)
	text = models.TextField()
	time = models.DateTimeField()
	email = models.EmailField(max_length=75)
	valid = models.BooleanField()

STEP7:管理ツールの設定

appプロジェクトフォルダ直下に

admin.py

ファイルを作成し、管理ツールで何を表示するか指定します。
from django.contrib import admin
from models import Hoge

class HogeOptions(admin.ModelAdmin):
    list_display = ('title', 'text', 'createTime')
    search_fields = ['title']
    list_filter = ('title', 'text')

admin.site.register(Hoge, HogeOptions)

list_display = ('author', 'text', 'writed_at') #表示する項目の指定

search_fields = ['^author'] #検索BOXの指定

list_filter = ('author', 'text') #絞込みリンクの指定

STEP8:DBを作成する

もうあとは実行するのみとなりました。次のコマンドを打つとDBが作成されます。

> python manage.py syncdb

うまくいくと次のメッセージが表示されます。

You just installed Django's auth system, which means you don't have any superuse rs defined. Would you like to create one now? (yes/no):

管理画面のユーザー登録をするか聞いているので「yes」を入力します。 ID、メールアドレス、パスワードを入力要求されるので言うとおりにします。

STEP9:管理画面に触れる

次のコマンドを入力するとサーバーが起動し管理画面にアクセスできるようになります。

> python manage.py runserver

早速アクセスしてみます。

http://localhost:8000/admin/

ログイン画面が表示されました。 さきほど設定したID、パスワードを入力しログインすると管理ツールをみることができました。

Home > Django

Recent Comments
Recent Trackback
Search
Meta
Links
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。