Django 1.5 でオーディオ プレーヤー Timeside を使用しようとしています。プレーヤーの読み込みを処理する JavaScript 関数は、この一連のパラメーターを受け取ります。
loadplayer.js
loadPlayer function (analizerUrl, soundUrl, soundImgSize, itemId, visualizers, CurrentUserName, isStaffOrSuperuser)
私のテンプレートには、起動を処理する次のスクリプトがあります
{% If item.file %}
loadPlayer('{% url 'item-analyze-xml' item.public_id %}',
"{% url 'item-export' item.public_id,"mp3" %}", undefined, '{{item.id}}', visualizers,
CURRENT_USER_NAME, //undefined if !user.is_authenticated
true); //true because superuser
{% Endif%}
URL は次のように構成されます。
url(r'^archives/items/download/(?P<public_id>[A-Za-z0-9._-]+)\.(?P<extension>'
+ export_extensions + ')$',
item_view.item_export,
name="item-export"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/analyze/xml/$',
item_view.item_analyze_xml,
name="item-analyze-xml"),
これは Django 1.4 で機能し、バージョン 1.5 で使用できるように更新を試みました。問題は、ここでパラメーター MP3 を送信できないことです
"{% url 'item-export' item.public_id,"mp3" %}",
ビュー item_export は次のようになります。
def item_export(self, request, public_id, extension):
プレーヤーが読み込まれると、次のエラーが表示されます。
Could not parse the remainder: ',' from 'pista.public_id,'
Django 1.5 でこれの正しい構文はどれですか?
名前を使用して、このステップを解決しました
{% url 'item-export' public_id=item.public_id extension="mp3" %}
動作しているようですが、新しいエラーがあります:
NoReverseMatch at /pista/1/
Reverse for 'item-analyze-xml' with arguments '()' and keyword arguments '{u'public_id': ''}' not found.