Skip to content
Let AngularJS play well with Django
JavaScript Python HTML CSS Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
djng Bump to 2.2.4 Nov 26, 2019
docs Bump to 2.2.4 Nov 26, 2019
examples fix failing unit test Nov 26, 2019
.coveragerc Move test setup to tox and pytest Jul 28, 2016
.dockerignore moved examples/docker-files -> docker-files Jun 27, 2017
.gitattributes Adopted git management files to reflect new path layout Apr 1, 2014
.travis.yml exclude older Django version with newer Python in test matrix Oct 19, 2019 regenerated Jan 6, 2016 Fix Markdown syntax on contributing guide Feb 27, 2018
LICENSE.txt Update Oct 19, 2019
authors-info.yml Update authors-info.yml Jan 6, 2016 extend to Python-3.7 Nov 26, 2019


Let Django play well with AngularJS

Build Status PyPI version Python versions Software license Twitter Follow

What does it offer?

Add AngularJS directives to Django Forms. This allows to handle client side form validation using the constraints provided by the server side Form declaration.

For more information, please visit the demo site.

How to run

git clone django-angular.git
cd django-angular.git
docker build -t django-angular.git .
docker run -d -it -p 9002:9002 django-angular.git

Open the application at http://{docker-host's-ip}:9002/

Backward Incompatibility

To be compliant with other libraries such as djangorestframework, server-side responses on rejected forms use error code 422, rather than 200. If you use your own form controllers, adopt them accordingly. The JSON format used to communicate errors downstream has changed slightly.

New Features

For a smoother transition path, django-angular added two directives in version 2.0:

<form djng-endpoint="/path/to/endpoint">...</form>, which can be used to upload form data to the server. It also populates the error fields, in case the server rejected some data.

<djng-forms-set endpoint="/path/to/endpoint"><form ...>...</form>...</djng-forms-set> Similar to the above directive, but rather than validating one single form, it validates a set of forms using one shared endpoint.

A promise chain has been introduced. Buttons used to submit form data and then proceed with something else, now can be written as:

<button ng-click="do(update()).then(redirectTo('/path/to/other/page'))">Label</button>


Detailed documentation on ReadTheDocs.

Demo on how to combine Django with Angular's form validation.

Please drop me a line, if and where you use this project.


  • Seamless integration of Django forms with AngularJS controllers.
  • Client side form validation for Django forms using AngularJS.
  • Let an AngularJS controller call methods in a Django view - kind of Javascript RPCs.
  • Manage Django URLs for static controller files.
  • Three way data binding to connect AngularJS models with a server side message queue.
  • Perform basic CRUD operations.


Copyright © 2019

MIT licensed

You can’t perform that action at this time.