A skeleton for building Python applications on Google App Engine with the Django framework, using djangoappengine.
This skeleton is a bare-bones "hello world" application.
See our other Google Cloud Platform github repos for sample applications and scaffolding for other Python frameworks and use cases.
-
Install the App Engine Python SDK. See the README file for directions. You'll need Python 2.7, pip 1.4 or later, and mercurial (
hg
) installed too. If you're missinghg
you can install it withpip install mercurial
once you havepip
installed. -
Clone this repo with:
git clone https://github.com/GoogleCloudPlatform/appengine-django-skeleton.git
-
Install dependencies in the project's directory - App Engine can only import libraries from inside your project directory.
cd appengine-django-skeleton ./build.sh
-
Run this project locally from the command line:
./manage.py runserver
See the output in your browser at http://localhost:8000
This sample uses manage.py
to call the development server. See the other management commands
for other options.
To deploy the application:
- Use the Admin Console to create an app.
- Replace
your-app-id
inapp.yaml
with the app id from the previous step. - Deploy the
application with:
appcfg.py --oauth2 update [projectDirectory]
or use the App Engine Launcher. - Congratulations! Your application is now live at
your-app-id
.appspot.com.
This skeleton includes TODO markers you can search for to determine some of the basic areas you will want to customize.
This is a very simple Django application. Check out the Django site for ideas on how to extend the application.
djangoappengine
provides built-in support for App Engine's NoSQL datastore.
See the documentation for supported and unsupported features
from the core Django library.
See the third-party libraries page for libraries that are already included in the SDK. To include SDK libraries, add them in your app.yaml file. Other than libraries included in the SDK, only pure python libraries may be added to an App Engine project.
Star this repo if you found it useful. Use the github issue tracker to give feedback on this repo and to ask for scaffolds for other use cases.
See CONTRIB.md
See LICENSE