Kaydet (Commit) 0201b9d6 authored tarafından Claude Paroz's avatar Claude Paroz

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

Thanks xian at mintchaos.com for the report.
üst f44922c7
...@@ -65,12 +65,18 @@ look like this: ...@@ -65,12 +65,18 @@ look like this:
self.stdout.write('Successfully closed poll "%s"' % poll_id) self.stdout.write('Successfully closed poll "%s"' % poll_id)
.. _management-commands-output:
.. note:: .. note::
When you are using management commands and wish to provide console When you are using management commands and wish to provide console
output, you should write to ``self.stdout`` and ``self.stderr``, output, you should write to ``self.stdout`` and ``self.stderr``,
instead of printing to ``stdout`` and ``stderr`` directly. By instead of printing to ``stdout`` and ``stderr`` directly. By
using these proxies, it becomes much easier to test your custom 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 The new custom command can be called using ``python manage.py closepoll
<poll_id>``. <poll_id>``.
......
...@@ -253,6 +253,11 @@ Django 1.5 also includes several smaller improvements worth noting: ...@@ -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 from :ref:`call_command <call-command>`. Any exception raised by the command
(mostly :ref:`CommandError <ref-command-exceptions>`) is propagated. (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 * The dumpdata management command outputs one row at a time, preventing
out-of-memory errors when dumping large datasets. out-of-memory errors when dumping large datasets.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment