spacemacs/layers/+frameworks/django/README.org
2018-10-11 00:13:43 +03:00

98 lines
4.5 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+TITLE: Django layer
[[file:img/django.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#install][Install]]
- [[#key-bindings][Key Bindings]]
- [[#general-managment][General Managment]]
- [[#fabric][Fabric]]
- [[#files][Files]]
- [[#interactive][Interactive]]
- [[#server][Server]]
- [[#southsyncdb][South/Syncdb]]
- [[#test][Test]]
* Description
This layer adds support for the Python web framework [[https://www.djangoproject.com/][Django]] to Spacemacs.
** Features:
- Test execution directly from emacs
- Starting/stopping of the Django test server
- Starting of an interactive Python shell in the current project for debugging
- Fixed commands to open various Django specific settings files
- Automatic deployment with [[http://www.fabfile.org][Fabric]] directly from emacs
- Control of [[http://south.aeracode.org/][South]] database migration tool
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =django= to the existing =dotspacemacs-configuration-layers= list in this
file.
* Key Bindings
Django related key bindings uses [[https://github.com/davidmiller/pony-mode][pony-mode]] and are behind the prefix ~SPC m j~ in =Python-mode=.
Various configuration options for =pony-mode= are documented at [[http://www.deadpansincerity.com/docs/pony/configuration.html][deadpansincerity.com]].
** General Managment
| Key Binding | Description |
|-------------+---------------------------------------|
| ~SPC m j m~ | Start a =pony-mode= managment session |
** 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 projects default database as an inferior process |
| ~SPC m j i s~ | Open a Python shell with the current pony projects 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 |