summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/howto/custom-management-commands.txt8
-rw-r--r--docs/releases/1.5.txt5
2 files changed, 12 insertions, 1 deletions
diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt
index bfcea64b49..7a31fc44e3 100644
--- a/docs/howto/custom-management-commands.txt
+++ b/docs/howto/custom-management-commands.txt
@@ -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>``.
diff --git a/docs/releases/1.5.txt b/docs/releases/1.5.txt
index 33dcb0e794..acf4f153ce 100644
--- a/docs/releases/1.5.txt
+++ b/docs/releases/1.5.txt
@@ -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.