Commit 05eb5360 authored by Jannis Leidel's avatar Jannis Leidel
Browse files

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

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14896 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 47a5153d
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ class Command(NoArgsCommand):
            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):
@@ -28,6 +28,10 @@ class Command(NoArgsCommand):
                # 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:
+4 −3
Original line number Diff line number Diff line
@@ -747,13 +747,14 @@ shell

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