본문 바로가기

Dev./Google App Engine

Django(1.4 이상)를 이용하여 Google App Engine 개발하기 (Eclipse 사용)

Python : 2.7
Django : 1.4


Python 개발 Eclipse plugin "PyDev"는 이미 깔려있다.
Google App Engine 이 Django 1.4 까지 지원하는것 같다.
Django 가장 최근버전이 1.5 이지만 1.4를 깐다.
Google App Engine SDK도 잘 구해서 깐다.

1. Django 프로젝트(django_gae)를 생성한다. 


2. PyDev Package Explorer 가 아닌 Navigator로 확인해보면 설정파일인 .pydevproject 파일이 보인다.

.pydevproject 파일이 보이지 않는다.


Window > Show View > Other > Navigator 를 선택하여 Navigator로 확인하자


딱 보인다.


파일을 열어 보면
.pydevproject



DJANGO_MANAGE_LOCATION
src/manage.py


/django_gae/src

python 2.7
Python27

위와 같은 원본에 Google App engine Lib를 추가해준다.

DJANGO_MANAGE_LOCATION
src/manage.py

GOOGLE_APP_ENGINE
C:\Program Files\Google\google_appengine




${GOOGLE_APP_ENGINE}
${GOOGLE_APP_ENGINE}/lib/PyAMF-0.6.1
${GOOGLE_APP_ENGINE}/lib/antlr3
${GOOGLE_APP_ENGINE}/lib/cherrypy
${GOOGLE_APP_ENGINE}/lib/concurrent
${GOOGLE_APP_ENGINE}/lib/enum
${GOOGLE_APP_ENGINE}/lib/fancy_urllib
${GOOGLE_APP_ENGINE}/lib/google-api-python-client
${GOOGLE_APP_ENGINE}/lib/graphy
${GOOGLE_APP_ENGINE}/lib/grizzled
${GOOGLE_APP_ENGINE}/lib/django-1.4
${GOOGLE_APP_ENGINE}/lib/httplib2
${GOOGLE_APP_ENGINE}/lib/ipaddr
${GOOGLE_APP_ENGINE}/lib/jinja2-2.6
${GOOGLE_APP_ENGINE}/lib/markupsafe-0.15
${GOOGLE_APP_ENGINE}/lib/oauth2
${GOOGLE_APP_ENGINE}/lib/prettytable
${GOOGLE_APP_ENGINE}/lib/protorpc
${GOOGLE_APP_ENGINE}/lib/python-gflags/tests
${GOOGLE_APP_ENGINE}/lib/setuptools-0.6c11
${GOOGLE_APP_ENGINE}/lib/simplejson
${GOOGLE_APP_ENGINE}/lib/sqlcmd
${GOOGLE_APP_ENGINE}/lib/webapp2-2.5.2
${GOOGLE_APP_ENGINE}/lib/webob-1.2.3
${GOOGLE_APP_ENGINE}/lib/yaml-3.10


GOOGLE_APP_ENGINE 라는 변수를 생성하고 외부 라이브러리들을 추가해준다.


3. settings.py 파일을 수정한다.
뭐 많이 수정할건 없고
DATABASES 부분만 주석처리 해준다.
"""
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.other (just type in combo)', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'D:\\99 eclipse\\forPython\\workspace\\django_gae\\src\\sqlite.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}
"""
요렇게...


4. app.yaml 파일을 작성한다.
app.yaml

application : django-gae-test
version : 1
runtime : python27
api_version : 1
threadsafe : true

# 이 이하가 중요, django 1.4 이상 버전 부터 wsgi 어플리케이션이 자동으로 생성되기때문에
# 아래 와 같이 자동으로 생성된 wsgi.application 으로 연결만 시켜주면됨
handlers:
- url: /.*
  script: django_gae.wsgi.application

# 요걸 안적어주면 import 에러남
libraries:
- name: django
  version: "1.4"


5. PyDev PackageExplorer 에서 (Navigator에서 하면 안된다.)  src 폴더를 우클릭 하면 "Run As" 항목에 "PyDev: Google App Run" 항목이 보인다.
실행해보자

실행~


잘 실행된다.


admin : http://localhost:8000



서비스 : http://localhost:8080












반응형