2

このテンプレート部分を考えてみましょう

<form class="form-horizontal" action="{% if client_id %}
    {% url client_edit client_id=client_id %}{% else %}
    {% url client_edit %}
    {% endif %}" method="post">{% csrf_token %}
{{ client_form }}
</form>

ご覧のとおり、パラメーターclient_idはオプションです。

この繰り返しを避ける方法はありますか ( url client_edit) ?


URL パターン:

url('^client/edit$', client_edit, name='client_edit'),
url('^client/edit/(?P<client_id>\d+)$', client_edit, name='client_edit'),
4

2 に答える 2

1

使い回しではない

{% url client_edit %}

実際には 2 つの URL を定義しているためです。本当に短くしたい場合(単純にする必要はありません)、次のようなフィルターを作成できます

{{client_id|make_url}}

フィルター内で適切なURLに解決できます

于 2013-06-10T22:20:17.043 に答える