万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Django 1.6.xのurls.pyで引数付きに苦戦

url(r'^edit/object/(?P<object_id>\w+)/$', 'object_edit', name='object_edit'),

のように書いた場合。 templateではどうするのか?

従来は {% url 'object_edit' %} で事足りるが、

Passing variables to named patterns via {% url %} in Django templates | Ventanazul

<a href="{% url object_edit object_id=4}">edit object</a>
<a href="{% url object_edit object_id={{ object.object_id }} %}">edit object</a>
<a href="{% url object_edit object_id=object.object_id  %}">edit object</a>

と英語は読み飛ばしたがw このようになった。 この記事自体は2009年くらいに書かれてそう。

{% url 'object_edit' oobject.object_id  %}

のような感じに、引数の名前の「object_id」は無視して、 nameのものは「'(シングルクォート)」で囲めばよい。