Django + ошибка GoogleAppEngine: DJANGO_SETTINGS_MODULE не определен - PullRequest
3 голосов
/ 25 февраля 2011

Итак, я учусь использовать Django и использую Google App Engine. У меня есть последний каталог Django в том же каталоге, что и мой основной.

Когда я запускаю его с локального компьютера, он работает нормально. Но когда я развертываю его и запускаю с веб-страницы, я получаю сообщение об ошибке сервера.

Вот код для моего 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

1 Ответ

2 голосов
/ 27 февраля 2011

Если у вас возникли проблемы с переменной среды, попробуйте настроить параметры напрямую (см. 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...