Djangoテンプレートで名前付き引数の値に(URLから)アクセスできますか?
Djangoテンプレートから以下のthis_name
の値にアクセスできますか?
url(r'^area/(?P<this_name>[\w-]+)/$', views.AreaView.as_view(), name="area_list")
URLパス全体を取得して分割することはできましたが、既に名前が付いているため、それを行うための簡単な方法があるかどうかを確認したかったのです。
ビューからのコンテキストデータでそれを渡すことは代替手段かもしれませんが、テンプレートが何らかの形ですでにそれを持っていると思うので、私はそれを渡す必要があるかどうかはわかりませんか? request API で直接メソッドを見つけることができませんでした。
ビューでは、URL args
およびkwargs
にself.args
およびself.kwargs
としてアクセスできます。
class MyView(View):
def my_method(self):
this_name = self.kwargs['this_name']
テンプレートの値にのみアクセスする場合は、ビューを変更する必要はありません。ベースの get_context_data
メソッドは、ビューをview
としてコンテキストに追加するので、次をテンプレートに追加できます。
{{ view.kwargs.this_name }}