Source code for google.appengine.ext.django.main

#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


"""Main handler script for running Django applications on App Engine."""











import logging
import os

from google.appengine.api import lib_config











_config_handle = lib_config.register(
    'django', {'settings_module': os.getenv('DJANGO_SETTINGS_MODULE',
                                            'settings')})
settings_path = _config_handle.settings_module

from google.appengine.ext.webapp import util




os.environ['DJANGO_SETTINGS_MODULE'] = settings_path

if os.environ.get('APPENGINE_RUNTIME') == 'python':


  import google.appengine.ext.webapp.template
else:

  try:
    import django
  except ImportError:
    msg = (
        'django must be included in the "libraries:" clause of your app.yaml '
        'file when using the django_wsgi builtin.')
    logging.error(msg)
    raise RuntimeError(msg)

from django.core import management
from django.core.handlers import wsgi





try:
  settings = __import__(settings_path)
  management.setup_environ(settings, original_settings_path=settings_path)
except ImportError:



  pass

app = wsgi.WSGIHandler()


[docs]def main(): """Main program. Run the Django WSGIApplication.""" util.run_wsgi_app(app)
if __name__ == '__main__': main()