Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Widgy: Tree Editor for Django

Build Status

Widgy is a content editor somewhat in the line of CKEditor. It is not a WYSIWYG editor though. Widgy is more suited than CKEditor for editing pages, as in a CMS because it allows you to edit specific parts of the page and those parts know how to render themselves. Whereas a WYSIWYG stores its data in HTML, Widgy stores it in a Tree where each node can render itself.

Widgy is available under the Apache Version 2.0 license. Contribute on github.


Read Widgy's documentation at


Install with pip.

pip install django-widgy

When developing Widgy, it might be handy to clone the repository then install it.

git clone git://
cd django-widgy
pip install -e .

Design Philosophy

Read about Widgy's data model at


There is a developers mailing list available at

Running the Tests

pip install -r requirements-test.txt
make test

make test will run both the JavaScript and Python tests. To test one or the other, use make test-js or make test-py.

$ tox

$ tox will run the full test suite across all of the supported versions of Django and Python.


Once coverage is installed (pip install coverage), the Makefile has two commands to help report on code coverage.

make coverage

will run the tests with coverage enabled and generate HTML coverage files.

make browser

will run the tests and open the coverage report in your web browser.