2008年10月21日火曜日

【Python】Mac OS XでDjango 1/2

Mac OS XでDjango環境を構築する。Leopard + Apache + MySQL + Pythonとういことで一応LAMPだ(無理矢理)。

Mac OS X 10.5.5 Leopard
MySQL 5.0.67-osx10.5-x86 (not 64bit)
Python 2.5.1
Django 1.0

[System Preference] [Sharing] [Web Sharing]をチェックする。
http://localhost
でTest Page for Apache Installationがあらわれる。

Apache2が参照するディレクトリを変更する。

sudo vi /etc/apache2/httpd.conf

などでDocumentRootを変更する。たとえば、

DocumentRoot "/Library/WebServer/Documents/mysite"


sudo mkdir /Library/WebServer/Documents/mysite
sudo apachectrl restart
sudo vi /Library/WebServer/Documents/mysite/index.html


Hello Worldとか適当に打ち込んで、http://localhostに再度アクセス。
今後は/Library/WebServer/Documents/mysiteで作業することになる。

次にApacheでPythonを呼ぶためのmod_pythonをインストールする。
http://httpd.apache.org/modules/python-download.cgi
からmod_python-3.3.1.tgzをダウンロードする。

tar zxvf mod_python-3.3.1.tgz
cd mod_python-3.3.1
./configure

src/Makefileに以下を追加する(INCLUDESの直下)。


INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'


コンパイルとインストール。

cd ..
make
sudo make install

/etc/apache2/httpd.confを編集。

LoadModule python_module libexec/apache2/mod_python.so
<directory myprj>
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</directory>

<location "/myprj">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/Library/WebServer/Documents/mysite'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE myprj.settings
PythonDebug On
</location>


いよいよDjango本体をインストールする。
http://www.djangoproject.com/download/
よりDjango-1.0.tar.gzをダウンロードしてtar zxvfで解凍してディレクトリ移動(cd)。

tar zxvf Django-1.0.tar.gz
cd Django-1.0.tar.gz
sudo python setup.py install




cd /Library/WebServer/Documents/mysite
sudo python django-admin.py startproject myprj
cd myprj
python manage.py startapp myapp


settings.pyを編集する。

DATABASE_ENGINE = 'mysql'
DATABASE_NAME = 'myprj'
DATABASE_USER = 'root'
DATABASE_PASSWORD = 'mypassword'
DATABASE_HOST = '127.0.0.1'
DATABASE_PORT = '3306'

TIME_ZONE = 'Asia/Tokyo Japan'

TEMPLATE_DIRS = (
'/Library/WebServer/Documents/mysite/myprj/myapp/template',
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'myprj.myapp'
)


*エラーが出る場合はDATABASE_ENGINEを無効にする。
myapp/views.pyを編集する。


from django.shortcuts import render_to_response, get_object_or_404

def index(request):
return render_to_response('index.html')


index.htmlはmyprj/myapp/template/index.htmlに作って、中身は適当なHTML。

sudo /usr/sbin/apachectrl restartでApache2を再起動後、http://localhost/myprj/myappにアクセスする。エラーのときはmyprj/myappをchmod -Rしてみる。

ここまでで、MySQLを除く環境の構築方法。

次回のエントリーでMySQLとの接続とmodel.pyの使い方を紹介する。

ラベル: , , , , ,

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

この投稿へのリンク:

リンクを作成

<< ホーム