0

HTML のブロックを繰り返し使用する一連のテンプレートがあるとします。{% include %}再利用した HTML をorに入れたいの{% block reused-stuff %}ですが、HTML タグの 1 つがhref動的に生成できないようです。(これはパンくずリストの問題に似ています。)

HTML の繰り返しの例を次に示します。

<td><a href="{% url analytics:buyer-stats:brand client.slug %}">{{ row.brand }}</a></td>
<td>{{ row.num_leads }}</td>
<td>{{ row.num_sold }}</td>
<td>{{ row.revenue }}</td>
<td>{{ row.scrub_rate|default_if_none:"N/A" }}</td>

最初にto<td>が含まれていることに注意してください。その値を他のいくつかの値に動的に変更する必要があります (このインクルードまたはブロックを使用するテンプレートによって異なります)。すなわち、、、など。hrefanalytics:buyer-stats:brandanalytics:buyer-stats:offeranalytics:buyer-stats:client

テンプレート側でこれを達成する方法について何か提案はありますか? rowを使用してオブジェクトを渡すのは簡単with row=my_dataですが、どうすれば url 値を渡すことができますか?

編集: このプロジェクトは Django 1.4 と Python 2.7.3 を使用しています。

4

1 に答える 1

1

この構文は Django 1.5 では有効ではありません。これはまさにこの理由によるものです。URL 名には、変数を使用するか、引用符で囲んだリテラル文字列を使用する必要があります。これにより、好きなことを簡単に行うことができます。ビュー名のコンテキスト変数を定義し、それを url タグで使用します。

于 2013-04-03T17:03:07.913 に答える