Alex
Alex

Reputation: 3

Django version in GAE

I'm tring to use Django 1.1 in GAE, But when I uncomment

use_library('django', '1.1')

in this script

import os

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'  
from google.appengine.dist import use_library 
#use_library('django', '1.1')


# Google App Engine imports.
from google.appengine.ext.webapp import util

# Force Django to reload its settings.
from django.conf import settings

settings._target = None

import django.core.handlers.wsgi
import django.core.signals
import django.db
import django.dispatch.dispatcher

# Unregister the rollback event handler.
django.dispatch.dispatcher.disconnect(
    django.db._rollback_on_exception,
    django.core.signals.got_request_exception)

def main():
    # Create a Django application for WSGI.
    application = django.core.handlers.wsgi.WSGIHandler()

    # Run the WSGI CGI handler with that application.
    util.run_wsgi_app(application)

if __name__ == "__main__":
    main()

I receives

AttributeError: 'module' object has no attribute 'disconnect'

What is going on?

Upvotes: 0

Views: 902

Answers (1)

Sam Dolan
Sam Dolan

Reputation: 32542

From http://justinlilly.com/blog/2009/feb/06/django-app-engine-doc-fix/

For those setting up Django on Google App Engine on version after the signals refactor, the following fix is needed for the code supplied by Google.

# Log errors.
django.dispatch.dispatcher.connect(
   log_exception, django.core.signals.got_request_exception)

# Unregister the rollback event handler.
django.dispatch.dispatcher.disconnect(
    django.db._rollback_on_exception,
    django.core.signals.got_request_exception)

becomes:

# Log errors.
django.dispatch.Signal.connect(
   django.core.signals.got_request_exception, log_exception)

# Unregister the rollback event handler.
django.dispatch.Signal.disconnect(
    django.core.signals.got_request_exception,
    django.db._rollback_on_exception)

Upvotes: 1

Related Questions