'问题'对象没有属性' strip'

时间:2018-06-11 12:10:57

标签: python django audio django-views

我试图通过gTTS方法为帖子提供音频。 在这篇文章中做这个音频工作时,我收到错误'问题'对象没有属性' strip'。

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 :(得分:1)

由于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.question_text, lang='en')
    tts.save("pcvoice.mp3")
    os.system("start pcvoice.mp3")
    return render(request, 'data/quit.html', {'contacts': contacts})

(或存储问题文本的字段的名称)。

请注意,您需要找到一种将文件流传递给客户端的方法。您可以通过创建一个专用视图来实现这一点,该视图将mp3作为流获取,然后将其包装到响应中。