Fixed #19749 -- Documented ending param to command's self.stdout/err
Thanks xian at mintchaos.com for the report.
This commit is contained in:
parent
f44922c795
commit
0201b9d6d8
|
@ -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>``.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue