Skip to content
The best way to run Django on Google App Engine
Python
Branch: master
Clone or download

README.md

Djangae

NOTE: If you are using Django 1.11 / Python 2.7, please use the 1.x branch - master will not work for you

Join the chat at https://gitter.im/potatolondon/djangae build-status-image

The best way to run Django on Google App Engine.

Djangae (djan-gee) is a Django app that allows you to run Django applications on Google App Engine, including (if you want to) using Django's models with the App Engine Datastore as the underlying database.

🌍  Website  |   :octocat:  GitHub  |   📕   Docs  |   💬  Gitter  |   👥  Google Group

Note: Djangae is under heavy development, stability is not guaranteed. A 2.0 release will happen when it's ready.

Features

  • Hooks to manage a series of Google Cloud emulators to simulate the Google App Engine environment locally
  • A tasks app which implements "deferred" tasks on Google Cloud Tasks, and functions for iterating large datasets
  • Utility functions to discover information about the running environment
  • A series of security patches and checks to improve the security of your project
  • Test utils for testing code that uses the Cloud Tasks API
  • Apps for cross-request locking and efficient pagination on the Google Cloud Datastore

Supported Django Versions

Djangae currently supports Django 2.2.

Documentation

https://djangae.readthedocs.io/

Installation

See https://djangae.readthedocs.io/en/latest/installation/

Contributing to Djangae

Djangae is actively developed and maintained, so if you're thinking of contributing to the codebase, here is how to get started.

Get started with development

  1. First off, head to our Github page and fork the repository to have your own copy of it.
  2. Clone it locally to start setting up your development environment
  3. Run all tests to make sure your local version is working: tox -e py37

Pick an issue & send a pull request

If you spotted a bug in Djangae that you want to fix, it's a good idea to start off by adding an issue. This will allow us to verify that your issue is valid, and suggest ideas for fixing it, so no time is wasted for you.

For help with creating the pull request, check out Github documentation.

Code style

Code style should follow PEP-8 with a loose line length of 100 characters.

Need help?

Reach out to us on djangae-users mailing list.

Pull request requirements

For pull request to be merged, following requirements should be met:

  • Tests covering new or changed code are added or updated
  • Relevant documentation should be updated or added
  • Line item should be added to CHANGELOG.md, unless change is really irrelevant

Running tests

On setting up the first time, create a Python 3 virtualenv and install the prerequisites with

# install tox
pip install tox

# install the datastore emulator
gcloud components install cloud-datastore-emulator

If you don't have gcloud (the Google Cloud SDK) installed, installation instructions can be found here

For running the tests, you just need to run:

$ tox -e py37

You can run specific tests in the usual way by doing:

tox -e py37 -- some_app.SomeTestCase.some_test_method
You can’t perform that action at this time.