0

blobstoreHTML5オーディオの使い方を理解しようとしています。

私のコードは動作中のコードからわずかに変更されているだけなので、大きな変更は必要ありません。

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 -
4

1 に答える 1

3

実際のキー変数を HTML に入れていないようです。明らかに間違っているものがあります/serve/%s-DjangoテンプレートはPython文字列置換さえ使用していません。置換するものを何も与えていないという事実は言うまでもありません。

ハンドラーからテンプレートに blob キーを渡し、getそれを で参照する必要があり<source src="/Serve/{{ blob_key }}"/>ます。

于 2012-08-08T16:54:40.557 に答える