人生セルフ人体実験

何をするにしても自分で試すのが一番

Django TemplateからViewにパラメータを複数渡すやり方

Django記事第二弾。
今回もなんかわかりやすくまとまってるナレッジがみつからなかったので、自分用も兼ねてメモ書きです。

環境

Django 3.0.8
Python 3.8.3

やりたいこと

こんなかんじに書いたurls.pyとviews.pyにtemplateからパラメータを複数渡したい
urls.py

path('hoge/<int:aaa>/<int:bbb>/', views.HogeView.as_view(), name='hoge'),

views.py

def get(self, request, aaa, bbb):
    なんちゃら

って感じで引数を受け取るようにしてあります。

で、パラメータがひとつのときは、

<a href="{% url 'hoge' alice %}">リンク</a>

みたいな感じでOKですが、二つ以上になると

<a href="{% url 'hoge' alice bob %}">リンク</a>

と、viewで設定してある引数の順番の通りにパラメータを記述すれば通ります。
もちろん、

<a href="{% url 'hoge' aaa=alice bbb=bob %}">リンク</a>

というふうに直接引数指定してあげても問題ないです。こっちのほうが見た目もわかりやすいしいいかも。
というか、Django templateの埋め込みコード内でこんな感じで=使えるんかい、という…。
(よくよく考えたらif節ではふつうに==使ってるなぁ、というやつですが)

以上、Django初心者の備忘録でした。