#35107: How to write a management command that reads from stdin should be
documented
-------------------------------------------+------------------------
               Reporter:  Andrew Northall  |          Owner:  nobody
                   Type:  Uncategorized    |         Status:  new
              Component:  Documentation    |        Version:  5.0
               Severity:  Normal           |       Keywords:
           Triage Stage:  Unreviewed       |      Has patch:  0
    Needs documentation:  0                |    Needs tests:  0
Patch needs improvement:  0                |  Easy pickings:  1
                  UI/UX:  0                |
-------------------------------------------+------------------------
 This seems like a fairly common use case, which is supported by Django,
 but as far as I can tell no mention of it is made in the documentation. It
 seems like it should be documented.

 For an example of how to do it, `loaddata` and `shell` read from stdin in
 Django core:

 
https://github.com/django/django/blob/main/django/core/management/commands/loaddata.py
 
https://github.com/django/django/blob/main/django/core/management/commands/shell.py

 I hear you say, 'but reading from stdin is a Python feature, not a Django
 feature, why should we document it?'. In my mind, the documentation as it
 exists now could lead to confusion: it makes specific mention that you
 should use `BaseCommand.stdout` and `BaseCommand.stderr` within a
 management command to write to stdout or stderr. It is not a big jump to
 then assume that you should also be using `BaseCommand.stdin` (which does
 not exist) to handle incoming data. The API, in this narrow sense, is
 inconsistent, and this is why the documentation would be helpful.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/35107>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018cfd532ead-98eccbc0-ba0a-4bef-a935-666141ffa061-000000%40eu-central-1.amazonses.com.

Reply via email to