2015-07-04 03:52:33 +00:00
#+TITLE : Python contribution layer for Spacemacs
2015-11-08 18:04:44 +00:00
#+HTML_HEAD_EXTRA : <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
2015-07-04 03:52:33 +00:00
[[file:img/django.png ]]
2015-10-30 11:20:58 +00:00
* Table of Contents :TOC_4_org:noexport:
- [[Description ][Description ]]
- [[Install ][Install ]]
- [[Key Bindings ][Key Bindings ]]
- [[Fabric ][Fabric ]]
- [[Files ][Files ]]
- [[Interactive ][Interactive ]]
- [[Server ][Server ]]
- [[South/Syncdb ][South/Syncdb ]]
- [[Test ][Test ]]
2015-07-04 03:52:33 +00:00
* Description
This layer adds support for the Python [[https://www.djangoproject.com/ ][Django ]] framework via [[https://github.com/davidmiller/pony-mode ][pony-mode ]].
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(django))
#+END_SRC
* Key Bindings
Django related key bindings uses [[https://github.com/davidmiller/pony-mode ][pony-mode ]] and are behind the prefix ~SPC m j~ .
Configuration options for pony-mode are documented at
[[http://www.deadpansincerity.com/docs/pony/configuration.html ][deadpansincerity.com ]]
Manage Django with ~SPC m j m~ .
** Fabric
| Key Binding | Description |
|---------------+----------------------------------|
| ~SPC m j a f~ | Run a fabric command |
| ~SPC m j a d~ | Deploy project with =fab deploy= |
** Files
| Key Binding | Description |
|---------------+---------------------------------------------------------------|
| ~SPC m j f s~ | Open the =settings.py= for this project |
| ~SPC m j f c~ | Interactively display a setting value in the minibuffer |
| ~SPC m j f t~ | Jump to template at point |
| ~SPC m j f r~ | Jump to the view file that the URL resolves to (experimental) |
** Interactive
| Key Binding | Description |
|---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ~SPC m j i d~ | Run interpreter for this project's default database as an inferior process |
| ~SPC m j i s~ | Open a Python shell with the current pony project's context loaded. If the project has the django_extras package installed, then use the excellent =shell_plus= command. Otherwise, fall back to =manage.py shell= |
** Server
| Key Binding | Description |
|---------------+-------------------------------------------------------------------|
| ~SPC m j r d~ | Stop the dev server |
| ~SPC m j r o~ | Open a tab at the dev server |
| ~SPC m j r r~ | Restart the dev server (works better with django_extras/werkzeug) |
| ~SPC m j r u~ | Start or open the dev server |
| ~SPC m j r t~ | Open a second server with a "throwaway" host/port |
** South/Syncdb
| Key Binding | Description |
|---------------+--------------------------------------------|
| ~SPC m j s c~ | Convert an existing app to south |
| ~SPC m j s h~ | Create migration for modification |
| ~SPC m j s i~ | Run the initial south migration for an app |
| ~SPC m j s m~ | Migrate an app |
| ~SPC m j s s~ | Run syncdb on the current project |
** Test
| Key Binding | Description |
|---------------+------------------------------------------------------------------|
| ~SPC m j t d~ | Move down the traceback one level |
| ~SPC m j t e~ | Go to the file and line of the last stack trace in a test buffer |
| ~SPC m j t o~ | Open the file in a traceback at the line specified |
| ~SPC m j t t~ | Run the test(s) given by =command= |
| ~SPC m j t u~ | Move up the traceback one level |