1. Ian Struble
  2. django

Commits

jez...@bcc190cf-cafb-0310-a4f2-bffc1f526a37  committed 946796b

Fixed #14187 -- Added support for bpython to shell management command. Thanks, Jeremy Dunck.

  • Participants
  • Parent commits 1f20155
  • Branches default

Comments (0)

Files changed (2)

File django/core/management/commands/shell.py

View file
             help='Tells Django to use plain Python, not IPython.'),
     )
     help = "Runs a Python interactive interpreter. Tries to use IPython, if it's available."
-    shells = ['ipython']
+    shells = ['ipython', 'bpython']
     requires_model_validation = False
 
     def ipython(self):
                 # IPython not found at all, raise ImportError
                 raise
 
+    def bpython(self):
+        import bpython
+        bpython.embed()
+
     def run_shell(self):
         for shell in self.shells:
             try:

File docs/ref/django-admin.txt

View file
 
 Starts the Python interactive interpreter.
 
-Django will use IPython_, if it's installed. If you have IPython installed and
-want to force use of the "plain" Python interpreter, use the ``--plain``
-option, like so::
+Django will use IPython_ or bpython_ if either is installed. If you have a
+rich shell installed but want to force use of the "plain" Python interpreter,
+use the ``--plain`` option, like so::
 
     django-admin.py shell --plain
 
 .. _IPython: http://ipython.scipy.org/
+.. _bpython: http://bpython-interpreter.org/
 
 sql <appname appname ...>
 -------------------------