1. Ian Struble
  2. django


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
+    def bpython(self):
+        import bpython
+        bpython.embed()
     def run_shell(self):
         for shell in self.shells:

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 ...>