尝试使用djangoappengine的Django教程

时间:2012-09-18 09:33:42

标签: google-app-engine django-models djangoappengine

我正在尝试使用djangoappengine实现Django的民意调查app教程。

我采取的步骤:
1)在工作区文件夹中复制test-app。

2)按照网站http://www.allbuttonspressed.com/projects/djangoappengine上的指示,在'test-app'文件夹中复制django-toolbox,dbindexer,django,djangoappengine,autoload。

3)在eclipse中以PyDev Google App Engine Project开始了一个新项目,并将test-app作为工作文件夹。

4)现在我使用终端

在GAE上部署了应用程序
  

$ python manage.py deploy

在x.appspot.com上获得“It Works”页面。

5)现在我尝试按照教程

中的指示制作一个民意调查应用程序
  

python manage.py startapp民意调查

文件夹'polls'是用四个文件创建的

6)我编辑了民意调查的model.py文件并添加了教程-1中提到的代码 然后我运行了命令 -

  

$ python manage.py syncdb

它没有显示任何错误,但没有创建新的民意调查表。 我在settings.py中的'Installed_Apps'下添加了'民意调查' 我认为问题出在数据库声明中,它是dbindexer而不是django.db.backends.sqlite3,但我不确定。

我在shell中运行它时也会出错

>>> from django.utils import timezone
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name timezone 

我还有更多疑问,但在上述问题解决后我会提及。

2 个答案:

答案 0 :(得分:0)

Django教程是为最新版本的django编写的。据我所知,时区被添加到django.utils 1.3左右?你能查看你有哪些版本的Django吗?目前的版本是1.41。

答案 1 :(得分:0)

根据Python 2.7中App Engine第三方支持的此页面

https://developers.google.com/appengine/docs/python/tools/libraries27

App引擎仅支持以下版本:

“1.2”

“1.3”

“最新”

所以我认为你不能使用1.41。

这里有关于Django用法的进一步说明:

https://developers.google.com/appengine/docs/python/tools/libraries27#django

  

要将Django与NDB存储API一起使用,请将“google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware”添加到Django settings.py文件中的MIDDLEWARE_CLASSES条目中。

你的app.yaml中有这样的条目吗?

libraries:
- name: django
  version: "1.3"

你做过这个吗?

  

要将Django与NDB存储API一起使用,请将“google.appengine.ext.ndb.django_middleware.NdbDjangoMiddleware”添加到Django settings.py中的MIDDLEWARE_CLASSES条目中