目次:
1. はじめに
2. Fedora Core 6
3. Python 2.4.4
4. Apache 2.2とMod Python
5. PostgreSQL 8.1.9
6. Djangoフレームワーク
7. Djangoアプリの作成
1. はじめに:
Django は Python の Web フレームワークです。Djangoを使えるために必要なプログラムについてご説明しております。
2. Fedora Core 6:
Fodora Core 6はRPM系LinuxディストリビューションでのフリーOSです。
3. Python 2.4.4:
Pythonはオブジェクト指向スクリプトのプログラミング言語です。
DjangoはPythonで書かれたので Python が必要です。
インストールコマンド: yum –y install python
場所: /usr/bin/python
4. Apache と mod_python:
ApacheはフリーWebサーバです。Mod_pythonはPythonをApacheの中に埋め込み、サーバの起動時に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フレームワーク:
DjangoはPythonで書かれたオープンソースの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.pyはDjangoプロジェクトに対する様々な操作を行うためのコマンドラインユーティリ
settings.pyはDjangoプロジェクトの設定ファイルです。
urls.pyはDjangoプロジェクトの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.pyはDjangoでデータベース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’, – djangoはproject_nameにapp_nameが入るためのです。
)
7.5 テーブルの作成:
Djangoアプリを使う前にテーブルの作成が必要です。
コマンド:python manage.py syncdb
syncdbはINSTALLED_APPS 設定を探し、settings.pyのデータベース設定に従ってデータベース上に必要なテーブルを作成します。
7.6 Apacheのhttpd.confにTrading Systemの指定:
DjangoはApache 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になります。
