[Python] [Django][vue-ui]

Manlio Perillo manlio.perillo a gmail.com
Mar 30 Apr 2019 20:23:50 CEST


On Tue, Apr 30, 2019 at 6:01 PM Luca <luca800 a gmail.com> wrote:
>
> Il giorno mar 30 apr 2019 alle ore 16:12 Manlio Perillo manlio.perillo a gmail.com ha scritto:
> [...]
>> Cosa devi fare esattamente?
>
> Devo far partire manage.py runserver host:port tramite il mio plugin per @vue/cli-ui.
> In realtà la cosa funziona. Purtroppo non vedo nell’interfaccia web il log di django (a differenza del mio script di test con i print).
>

stdout è una instanza di
https://docs.python.org/3/library/io.html#io.TextIOWrapper.
Quello che puoi fare è creare un nuovo comando che deriva da
runserver.Command, e nel suo costruttore passare alla classe base il
parametro stdout con il buffering disabilitato.
Vedi
https://github.com/django/django/blob/master/django/core/management/base.py#L148
https://github.com/django/django/blob/master/django/contrib/staticfiles/management/commands/runserver.py

Ad esempio:

class Command(runserver.Command):
    def __init__(self):
        sys.stdout.reconfigure(write_through=True)
        super().__init__(stdout=sys.stdout)

Se non funziona puoi creare un wrapper il cui metodo write chiama
flush dopo ogni scrittura.

> [...]

Ciao
Manlio


Maggiori informazioni sulla lista Python