Commit 12615dab authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Fixed #13476 -- Added support for color in console output under Windows.

Detect and use the services of the ANSICON third-party tool if it's
available.
parent c75dd664
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -13,10 +13,12 @@ def supports_color():
    Returns True if the running system's terminal supports color, and False
    otherwise.
    """
    unsupported_platform = (sys.platform in ('win32', 'Pocket PC'))
    plat = sys.platform
    supported_platform = plat != 'Pocket PC' and (plat != 'win32' or
                                                  'ANSICON' in os.environ)
    # isatty is not always implemented, #6223.
    is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
    if unsupported_platform or not is_a_tty:
    if not supported_platform or not is_a_tty:
        return False
    return True

+13 −0
Original line number Diff line number Diff line
@@ -1552,6 +1552,11 @@ color-coded output if your terminal supports ANSI-colored output. It
won't use the color codes if you're piping the command's output to
another program.

Under Windows, the native console doesn't support ANSI escape sequences so by
default there is no color output. But you can install the `ANSICON`_
third-party tool, the Django commands will detect its presence and will make
use of its services to color output just like on Unix-based platforms.

The colors used for syntax highlighting can be customized. Django
ships with three color palettes:

@@ -1636,6 +1641,14 @@ would specify the use of all the colors in the light color palette,
*except* for the colors for errors and notices which would be
overridden as specified.

.. versionadded:: 1.7

Support for color-coded output from ``django-admin.py`` / ``manage.py``
utilities on Windows by relying on the ANSICON application was added in Django
1.7.

.. _ANSICON: http://adoxa.hostmyway.net/ansicon/

Bash completion
---------------

+3 −0
Original line number Diff line number Diff line
@@ -415,6 +415,9 @@ Management Commands
  * All HTTP requests are logged to the console, including requests for static
    files or ``favicon.ico`` that used to be filtered out.

* Management commands can now produce syntax colored output under Windows if
  the ANSICON third-party tool is installed and active.

Models
^^^^^^