0

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

1 に答える 1