我只想弄清楚如何使用blobstore
和HTML5
音频。
我的代码只是稍微修改了工作代码,因此无法进行重大更改。
class data(webapp2.RequestHandler):
def get(self):
a = db.GqlQuery("SELECT * FROM UserPhoto")
blob = a[1].blob_key
self.redirect('/Serve/%s' % blob.key())
class ServeHandler(Handler, blobstore_handlers.BlobstoreDownloadHandler):
def get(self, audio_key):
if not blobstore.get(audio_key):
self.error(404)
else:
self.send_blob(audio_key)
self.redirect('/music')
class music(Handler):
def get(self):
self.render("music.html")
这是播放音频的HTML:
<audio controls="controls">
<source src="/Serve/%s"/>
Your browser does not support the audio element.
,错误是
"GET /Serve/%s HTTP/1.1" 404 -
答案 0 :(得分:3)
您似乎没有将实际的键变量放在HTML中。你只有/serve/%s
这显然是错误的 - Django模板甚至不使用Python字符串替换,更不用说你没有给它任何替代的事实。
您需要将blob密钥从get
处理程序传递给模板,然后使用<source src="/Serve/{{ blob_key }}"/>
引用它。