edo1z blog

プログラミングなどに関するブログです

GAEで純粋Django1.4を使う

環境はMacです。Eclipse×GAE×Python2.7を使ってます。純粋Djangoを使えるようになっていることを知ったので使ってみたいと思います。

参考にしたサイトは、下記2点です。

Windows7 x64 で、GAE/P(1.7.0) + Django 1.3 の環境を構築する
GAE 1.6+Django 1.2

前提としてGAEの基本的な開発環境はインストールされているものとします。

Djangoのインストール

まず、Djangoをローカル環境にインストールします。

僕はまずeasy_installをインストールしました。

sudo curl -O http://peak.telecommunity.com/dist/ez_setup.py

sudo python2.7 ez_setup.py


参考にpython2.7 ez_setup.pyの結果もメモしておきます。

Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
Processing setuptools-0.6c11-py2.7.egg
Copying setuptools-0.6c11-py2.7.egg to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Adding setuptools 0.6c11 to easy-install.pth file
Installing easy_install script to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
Installing easy_install-2.7 script to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin

Installed /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11


上記のeasy_install-2.7がインストールされたフォルダをPATHに追加します。

export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH


Djangoをeasy_install-2.7を使ってインストールします。

sudo easy_install-2.7 django


Djangoプロジェクトを作成する

Djangoを使わないなら、Google App Engine Launcherでプロジェクトを作成できますが、Djangoを使う場合、まずはdjango-admin.pyを使ってプロジェクトを作ります。

任意のフォルダにcdで移動してから、下記を実行します。

django-admin.py startproject myproject


任意のフォルダの中に、myprojectフォルダが出来、その中にまたmyprojectフォルダが出来、その中に下記4ファイルが出来ます。

init.py
settings.py
urls.py
wsgi.py

app.yamlとmain.pyの作成

今回はこれらファイルと同じ場所に、app.yamlとmain.pyを作成します。

app.yaml

application: myproject
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon.ico
  static_files: favicon.ico
  upload: favicon.ico

- url: .*
  script: main.app

libraries:
- name: django
  version: "1.4"


main.py

import os
# specify the name of your settings module
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
app = django.core.handlers.wsgi.WSGIHandler()


Google App Engine Launcherへの登録と起動

次に、Google App Engine Launcherに登録します。 File > Add Existing Applicationにて、作成したプロジェクトのフォルダー(myprojectの中のmyproject)を登録します。

LauncherでRun > Browse して、下記のようなページが出たらDjnago連動成功。