2011-02-25 67 views
3

因此,我正在学习如何使用Django并使用Google App Engine。我在我的主目录下有最新的Django目录。Django + GoogleAppEngine错误:DJANGO_SETTINGS_MODULE未定义

当我从本地运行它时,它工作正常。但是,当我部署它并从网页运行它时,我收到了服务器错误。

这里是我的main.py代码和settings.py

main.py:

import os 
import settings 
from django.template import Context, Template 
from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import run_wsgi_app 

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

class MainPage(webapp.RequestHandler): 
    def get(self): 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write('Hello, World!\n') 
     t = Template('It is now {% now "jS F Y H:i" %}') 
     c = Context({ }) 
     self.response.out.write(t.render(c)) 

application = webapp.WSGIApplication(
            [('/', MainPage)], 
            debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

settings.py:

import os 

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 
TIME_ZONE = 'America/Whitehorse' 
LANGUAGE_CODE = 'en-us' 
SITE_ID = 1 
+0

无论何时刷新内存缓存,我都会收到此错误。 – abel 2012-11-13 07:08:57

回答

2

如果您有麻烦环境变量,然后尝试直接配置设置(请参阅http://docs.djangoproject.com/en/dev/topics/settings/#using-settings-without-setting-django-settings-module

import settings 
import django.conf 

# Filter out all the non-setting attributes of the settings module 
settingsKeys = filter(lambda name: str(name) == str(name).upper(), 
         dir(settings)) 

# copy all the setting values from the settings module into a dictionary 
settingsDict = dict(map(lambda name: (name, getattr(settings, name)), 
         settingsKeys)) 

django.conf.settings.configure(**settingsDict)