如何通过django中的POST检索.wav文件并将其存储在数据模型中?
我正在学习VXML和Django。我试图找出如何从一些voice xml(vxml)浏览器中干净地检索录音,并将其传递到服务器端,在那里我使用django进一步处理传递的信息。然后我想将该文件存储在.wav文件中的某个位置,以便以后重播。我有以下代码片段: 在VXML文件中:如何通过django中的POST检索.wav文件并将其存储在数据模型中?,django,vxml,Django,Vxml,我正在学习VXML和Django。我试图找出如何从一些voice xml(vxml)浏览器中干净地检索录音,并将其传递到服务器端,在那里我使用django进一步处理传递的信息。然后我想将该文件存储在.wav文件中的某个位置,以便以后重播。我有以下代码片段: 在VXML文件中: <record name="recording" /> [here i record the recording] <filled> <subm
<record name="recording" />
[here i record the recording]
<filled>
<submit next="/url/" method="post" namelist="recording"/>
</filled>
views.index定义
def index(request):
_recording = [..retrieve .wav from request here]
_modelObject = ModelObject(recording= _recording)
_modelObject.save() #store recording in some database
return render(request, 'genericfile.xml', content_type='text/xml')
在model.py中,我想我会有这样一个类:
from django.db import model
class ModelObject(model.Models)
recording = [declare type of .wav file here]
我将如何以干净的方式完成[…]中的步骤 我以前没有使用过vxml,但看起来您希望同时存储.xml格式和.wav格式。 在这种情况下,我的解决方案如下:
from django.db import model
class ModelObject(model.Models)
# Define a text filed or anything that can store long string
# of _recording var above.
recording = models.TextField()
def save(self, *args, **kwargs):
if self.recording:
# Convert vxml to wav and store to a file
pass
super(ModelObject, self).save(*args, **kwargs)
@property
def recording_wav(self):
if not self.recording:
return None
return 'path/to/file.wav'
记住,删除ModelObject的实例后,使用post_delete
信号删除file.wav
from django.db import model
class ModelObject(model.Models)
# Define a text filed or anything that can store long string
# of _recording var above.
recording = models.TextField()
def save(self, *args, **kwargs):
if self.recording:
# Convert vxml to wav and store to a file
pass
super(ModelObject, self).save(*args, **kwargs)
@property
def recording_wav(self):
if not self.recording:
return None
return 'path/to/file.wav'