Djangoアプリの作成

目次:

1. はじめに

2. Fedora Core 6

3. Python 2.4.4

4. Apache 2.2Mod Python

5. PostgreSQL 8.1.9

6. Djangoフレームワーク

7. Djangoアプリの作成

1. はじめに:

Django Python Web フレームワークです。Djangoを使えるために必要なプログラムについてご説明しております。

2. Fedora Core 6:

Fodora Core 6RPMLinuxディストリビューションでのフリーOSです。

3. Python 2.4.4:

Pythonはオブジェクト指向スクリプトのプログラミング言語です。

DjangoPythonで書かれたので Python が必要です。

インストールコマンド yum –y install python

場所: /usr/bin/python

4. Apache mod_python:

ApacheはフリーWebサーバです。Mod_pythonPythonApacheの中に埋め込み、サーバの起動時にPythonコードをメモリにロードします。コードはApacheプロセスが生きている間ずっとメモリ上に存在するので、他のサーバ構成よりも明らかに高いパフォーマンスを実現します。Djangoの動作にはApache2.xおよびmod_python 3.xが必要です。

Apacheのインストールコマンドyum -y install httpd

場所: /etc/httpd

Confファイル: /etc/httpd/conf/httpd.conf

コマンド: /etc/rc.d/init.d/httpd

オプション: {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}

mod_pythonのインストールコマンドyum -y install mod_python

URL: http://www.modpython.org/

場所: /etc/httpd/conf.d/python.conf

LoadModule python_module modules/mod_python.so/etc/httpd/conf.d/python.conf

にあるかどうか確認が必要です。

5. PostgreSQL 8.1.9:

このシステムはPostgreSQLと言うデータベースが必要です。

PostgreSQLのインストールコマンドyum –y install postgresql

場所: /var/lib/pgsql

コマンド:/etc/rc.d/init.d/postgresql

オプション: {start|stop|status|restart|condrestart|condstop|reload|force-reload}

PythonからPostgreSQLのデータベースを使う場合はpsycopg2パッケージが必要です。

Psycopg2のインストールコマンドyum –y install python-psycopg2

6. Django 0.96フレームワーク:

DjangoPythonで書かれたオープンソースのWebフレームワークです。

インストールコマンド:yum –y install django

7. Djangoアプリの作成:

7.1 プロジェクトの作成:

初めてDjangoを使うなら、最初のプロジェクトを作る必要です。

コマンド:python django-admin.py startproject project_name

project_nameの所に好きなプロジェクトの名前を書けます。

現在のディレクトリにproject_nameディレクトリとファイルが作成されます。

project_name/

__init__.py

manage.py

settings.py

urls.py

__init__.pyは現在のディレクトリにPythonパッケージがあることでPythonに知らせるためんい空ファイルです。

manage.pyDjangoプロジェクトに対する様々な操作を行うためのコマンドラインユーティリ

settings.pyDjangoプロジェクトの設定ファイルです。

urls.pyDjangoプロジェクトのURL宣言するファイルです。

7.2 開発用サーバ

Djangoには開発サーバも入っているので以下のコマンドでWebサーバ使うことが出来ます。

コマンド:python manage.py runserver

7.3 アプリの作成:

プロジェクトのディレクトリに入ってDjangoアプリの作成します。「cd project_name

コマンド:python manage.py startapp app_name

現在のディレクトリにapp_nameディレクトリとファイルが作成されます。

app_name/

__init__.py

models.py

views.py

__init__.pyは現在のディレクトリにPythonパッケージがあることでPythonに知らせるためんい空ファイルです。

models.pyDjangoでデータベースWebアプリを書いて、データベースのレイアウトとメタデータの定義ファイルです。

views.pyはリクエストされたページのコンテンツが入ったHttpResponseオブジェクトを返すフアイルです。

7.4 データベースの作成

PostgreSQLにはCREATE DATABASE db_nameを使ってデータベースの作成する必要です。

7.4 settings.pyの設定

このファイルはDjangoプロジェクトの設定ファイルです。

DATABASE_ENGINE = ‘postgresql_psycopg2′ – postgresql_psycopg2はデータベースエンジンです。

DATABASE_NAME = ‘db_name’ – db_nameはデータベースの名前です。

DATABASE_USER = ‘user_name’ – user_nameはデータベースの名前です。

DATABASE_PASSWORD = ‘password’ – passwordはデータベースのパスワードです。

TIME_ZONE = ‘Asia/Tokyo’

LANGUAGE_CODE = ‘ja’

INSTALLED_APPS = (

‘django.contrib.auth’, 認証システムです。

‘django.contrib.contenttypes’, コンテンツタイプ処理フレームワーク です。

‘django.contrib.sessions’, セッションフレームワークです。

‘django.contrib.sites’, 一つのdjangoで複数のサイトを管理するためのです。

‘django.contrib.admin’, – django管理サイトのためのです

‘project_name.app_name’, – djangoproject_nameapp_nameが入るためのです。

)

7.5 テーブルの作成

Djangoアプリを使う前にテーブルの作成が必要です。

コマンド:python manage.py syncdb

syncdbINSTALLED_APPS 設定を探し、settings.pyのデータベース設定に従ってデータベース上に必要なテーブルを作成します。

7.6 Apachehttpd.confTrading Systemの指定:

DjangoApache Webサーバを利用するならば以下のような設定が必要です。

<VirtualHost 192.168.1.77>

ServerName www.everest.jp

Alias /media “/var/local/django/trade/media”

<Location “/”>

SetHandler python-program

PythonPath “['/var/local/django'] + sys.path”

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE trade.settings

PythonDebug On

PythonInterpreter trade

</Location>

<Location “/media”>

SetHandler None

</Location>

<LocationMatch “\.(jpg|gif|png)$”>

SetHandler None

</LocationMatch>

Alias /templates “/var/local/django/trade/templates”

<Location “/templates”>

SetHandler default-hander

</Location>

</VirtualHost>

7.7 templateの場所:project_name/template/app_nameにあります。

7.8 mediaの場所: project_name/mediaになります。

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!



Follow

Get every new post delivered to your Inbox.