在GoogleAppEngine/Python下使用Django的方法
环境
-
- Mac
-
- Python2.7
- Google App Engine SDK for Python
在拥有这个设备的环境中进行工作。
创建Django应用程序
首先,我们创建一个项目。
我们将其命名为gaedjango。
如果使用SDK中包含的django,将如下所示。
对于其他环境,请相应地进行修改。
$ export PYTHONPATH='/usr/local/google_appengine/lib/django-1.5/'
$ /usr/local/google_appengine/lib/django-1.5/django/bin/django-admin.py startproject gaedjangoapp
项目将在gaedjangoapp目录中创建。
创建app.yaml文件
使用app.yaml文件来配置GoogleAppEngine应用程序的设置是必需的。
使用app.yaml文件对Python应用程序进行配置。
application: gaedjangoapp
version: 1
runtime: python27
api_version: 1
threadsafe: yes
libraries:
- name: django
version: "1.5"
builtins:
- django_wsgi: on
appengine_config.py 的释义.
使用SDK的Django时需要设置PYTHONPATH。
在Django1.5中,还需要设置DJANGO_SETTINGS_MODULE。
# -*- coding: utf-8 -*-
import os
import sys
if os.environ.get('SERVER_SOFTWARE','').startswith('Dev'):
sys.path.append('/usr/local/google_appengine/lib/django-1.5/')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gaedjangoapp.settings")
启动开发服务器
一般情况下,Django应用中
$ python manage.py runserver
我将启动开发服务器,
但由于这次是在GoogleAppEngine上,
$ dev_appserver.py .
启动。
在这种状态下,访问http://localhost:8080,将显示”它起作用了!”和初始状态的页面。
你好,创建Hello应用程序。
我要创建一个显示”HelloWorld”的应用程序。
$ python manage.py startapp hello
在”hello”目录下创建一个空的应用程序。
接下来,将hello/view.py文件修改为以下内容。
# -*- coding:utf-8 -*-
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world.")
接下来,我们需要进行urls.py的设置。
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
(r'^$', 'gaedjangoapp.hello.views.index'),
)
最后,将应用程序添加到settings.py文件中。
INSTALLED_APPS = (
~~~~~
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'hello',
)
在这种状态下,当访问http://localhost:8080时,
会显示”你好,世界”。