Объект «Вопросы» не имеет атрибута «Газа» - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь дать пост аудио методом gTTS.При выполнении этой звуковой работы над этим сообщением я получаю сообщение об ошибке: у объекта «Вопросы» нет атрибута «полоса».

def qpage(request):
    contact_list = Questions.objects.all()
    paginator = Paginator(contact_list, 1) # Show 25 contacts per page
    page = request.GET.get('Q')
    contacts = paginator.get_page(page)
    spk = Questions.objects.get(id=page)

    tts = gTTS(text=spk, lang='en')
    tts.save("pcvoice.mp3")
    os.system("start pcvoice.mp3")
    return render(request, 'data/quit.html', {'contacts': contacts})

1 Ответ

0 голосов
/ 11 июня 2018

Ошибка возникает, поскольку spk является Questions объектом (лучше переименовать объект в Question).Это не текстовый объект.

Чтобы преобразовать текст вопроса в речь, вам нужно извлечь из него текст вопроса .Например:

def qpage(request):
    contact_list = Questions.objects.all()
    paginator = Paginator(contact_list, 1) # Show 25 contacts per page
    page = request.GET.get('Q')
    contacts = paginator.get_page(page)
    spk = Questions.objects.get(id=page)

    tts = gTTS(text=spk<b>.question_text</b>, lang='en')
    tts.save("pcvoice.mp3")
    os.system("start pcvoice.mp3")
    return render(request, 'data/quit.html', {'contacts': contacts})

(или имя поля , в котором хранится текст вопроса).

Обратите внимание, что вам нужно найти способпередать поток файлов клиенту.Вы можете сделать это, создав специальное представление, которое получает mp3 в виде потока и затем упаковывает его в ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...