0

我正在尝试在 googleappenginelauncher 版本 1.6.6 中运行名为 Polls 的 django 1.3 测试应用程序,但出现以下错误。谁能告诉我如何做到这一点,好吗?

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
INFO     2012-06-05 19:08:30,766 dev_appserver.py:2904] "GET /polls/1/ HTTP/1.1" 500 -

我已经将我的 app.yaml 放在了 app 目录中,而不是项目目录中,这可能是个问题,但这是我当前的 app.yaml。另外,我已经将我的 views.py 声明为我的主脚本,这也是一个猜测。

application: ctst
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /_ah/queue/deferred
  script: djangoappengine.deferred.handler.application
  login: admin
- url: /.*
  script: views.app

libraries:
- name: django
  version: "1.3"

我的 mysite 和民意调查目录如下。

server:mysite brian$ ls -l
total 352
-rw-r--r--   1 brian  staff       0 Jun  4 10:22 __init__.py
-rw-r--r--   1 brian  staff     155 Jun  4 13:56 __init__.pyc
-rw-r--r--   1 brian  staff     503 Jun  4 10:22 manage.py
drwxr-xr-x  20 brian  staff     680 Jun  5 14:54 polls
-rw-r--r--   1 brian  staff    5273 Jun  5 15:00 settings.py
-rw-r--r--   1 brian  staff    2955 Jun  5 15:00 settings.pyc
drwxr-xr-x   2 brian  staff      68 Jun  4 14:04 sqlite3.db
-rw-r--r--   1 brian  staff  147456 Jun  5 11:42 sqlite3.dp
-rw-r--r--   1 brian  staff    1048 Jun  5 10:16 urls.py
-rw-r--r--   1 brian  staff     464 Jun  5 10:18 urls.pyc
server:mysite brian$ ls -l polls/
total 104
-rw-r--r--  1 brian  staff     0 Jun  4 14:23 __init__.py
-rw-r--r--  1 brian  staff   151 Jun  4 14:33 __init__.pyc
-rw-r--r--  1 brian  staff   505 Jun  4 16:33 admin.py
-rw-r--r--  1 brian  staff  1123 Jun  4 16:33 admin.pyc
-rw-r--r--  1 brian  staff   263 Jun  5 14:54 app.yaml
-rw-r--r--  1 brian  staff   524 Jun  4 14:50 models.py
-rw-r--r--  1 brian  staff  1484 Jun  4 14:50 models.pyc
-rw-r--r--  1 brian  staff   383 Jun  4 14:23 tests.py
-rw-r--r--  1 brian  staff   708 Jun  5 11:26 urls.py
-rw-r--r--  1 brian  staff   902 Jun  5 11:42 urls.pyc
-rw-r--r--  1 brian  staff  1154 Jun  5 11:41 views.py
-rw-r--r--  1 brian  staff  1231 Jun  5 11:42 views.pyc
server:mysite brian$ 
4

1 回答 1

0

尝试添加

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

在您知道的某个地方,每个请求都会调用它。请注意,os.environ 是 python27 的 threadlocal,因此在初始导入时设置可能还不够。

于 2012-06-05T20:55:03.530 回答