Commit 0201b9d6 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #19749 -- Documented ending param to command's self.stdout/err

Thanks xian at mintchaos.com for the report.
parent f44922c7
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -65,12 +65,18 @@ look like this:

                self.stdout.write('Successfully closed poll "%s"' % poll_id)

.. _management-commands-output:

.. note::
    When you are using management commands and wish to provide console
    output, you should write to ``self.stdout`` and ``self.stderr``,
    instead of printing to ``stdout`` and ``stderr`` directly. By
    using these proxies, it becomes much easier to test your custom
    command.
    command. Note also that you don't need to end messages with a newline
    character, it will be added automatically, unless you specify the ``ending``
    parameter::

        self.stdout.write("Unterminated line", ending='')

The new custom command can be called using ``python manage.py closepoll
<poll_id>``.
+5 −0
Original line number Diff line number Diff line
@@ -253,6 +253,11 @@ Django 1.5 also includes several smaller improvements worth noting:
  from :ref:`call_command <call-command>`. Any exception raised by the command
  (mostly :ref:`CommandError <ref-command-exceptions>`) is propagated.

  Moreover, when you output errors or messages in your custom commands, you
  should now use ``self.stdout.write('message')`` and
  ``self.stderr.write('error')`` (see the note on
  :ref:`management commands output <management-commands-output>`).

* The dumpdata management command outputs one row at a time, preventing
  out-of-memory errors when dumping large datasets.