Skip to content
Go to file

Latest commit


Git stats


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


Pony Mode -a Django mode for emacs

A Django mode for emacs.

Features (Non-exhaustive):

  • Run dev server in an emacs buffer [C-c C-p r] * Checks to see if runserver_plus is available * If not uses in-built runserver
  • Jump to current project in browser (start server if required) [C-c C-p b]
  • Run test case at point in buffer [C-c C-p t]
  • Run tests for current app in buffer [C-c C-p t]
  • Run Syncdb on current project
  • Run Celeryd [C-c C-p c]
  • Management commands for current project in interactive buffer
  • South integration - run south convert, schemamigration, migrate
  • Run django shell in buffer [C-c C-p s] * Checks for shell_plus * If not defaults to shell
  • Fabric integration [C-c C-p f]
  • Startapp and dumpdata on current project within emacs
  • Database integration with Emacs sql-mode interactive buffer [C-c C-c d
  • Django Template minor mode with syntax highlighting for django template tags
  • Snippet collection for django
  • generate tags table for project
  • run manage commands in interactive buffer
  • Buildout integration
  • Generate TAGS table for project to enable quick navigation
  • Jump to template at point or from editing view [C-c C-p g t]
  • Virtualenv integration


The full documentation is available at


  1. clone this repo somewhere $ git clone

  2. (optional) Byte-compile the files:

    M-x byte-compile-file (path/to/pony-mode/src/*.el)
  3. Add the path to your load-path:

    (add-to-list 'load-path "path/to/pony-mode/src")
  4. Add to your .emacs:

    (require 'pony-mode)
  5. Enjoy


Please report any bugs on the github issue tracker


Configuration options per project are available via .dir-locals.el

The file should look something like this:

;; Pony mode config for the megacorp project
((nil . ;; This applies these settings regardless of major mode

  ((pony-settings (make-pony-project
                   :python "/home/david/virtualenvs/megacorp/production/bin/python"
                   :pythonpath "/home/david/megacorp/libs/projectzero"
                   :settings "local_settings_file"
                   :appsdir "testproject/apps/")


Turns out that there is a mailing list at .

Low frequency, high helpfulness. Feel free to stop by for helps & chats...


Totally GPL


Check the org-mode file for current todo/wish list

(If you can stand the org-to-github-markdown transition: )hs

You can’t perform that action at this time.