我可以在Django模板中访问命名参数的值(来自URL)吗?
我可以从django模板中访问下面this_name
的值吗?
url(r'^area/(?P<this_name>[\w-]+)/$', views.AreaView.as_view(), name="area_list")
我可以获取整个网址路径并将其拆分但是想要检查是否有直接的方法来执行此操作,因为它已经有了名称。
在视图中的上下文数据中传递它可能是另一种选择但不确定我是否确实需要将其传递下去,因为我猜模板已经以某种方式存在它?但是,request API无法找到直接的方法。
答案 0 :(得分:19)
在视图中,您可以访问网址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 }}