Я пытался перенаправить стандартный вывод команды пользовательского Джанго, используя этот кусок кода:Перенаправление management.call_command() стандартный вывод в файл
from django.core.management.base import BaseCommand
from django.core import management
class Command(BaseCommand):
def handle(self, *args, **options):
f = open('/tmp/output', 'r+')
management.call_command('basequery', 'list', 'log', stdout=f)
f.close()
Однако, когда я называю это из управления. py, стандартный вывод появляется на консоли, и файл/tmp/output создается, но пуст.
Вот Джанго documentation того, что я пытаюсь сделать
Я предполагаю, что, возможно, потому, что 'open ('/ tmp/output', 'r +')' открывает файл только для _reading_, но вы должны иметь возможность писать ему – Anentropic
@ Annropic 'r +' означает чтение и написать. Я уже пробовал с «w», и я получаю тот же результат – Phob1a
oops, вы правы!:) – Anentropic