如何将上下文对象作为Django url模板标记参数传递

时间:2017-07-03 17:22:01

标签: python django templates

在我的django项目中,我有两个模型类 - Category&行动。类别是ForeignKey of Action(所有Actions都属于Category)。

在我的django模板中,我希望能够将上下文对象传递到{%url%}标记,该标记接受包含类别名称作为参数的字符串。因此,在一个完美的世界中,我的django模板会有如下行:

<form action="{% url 'actions' {{ category }} %}">

当提交时,Django会将表单跟随到urlpattern,如:

url(r'^(?P<category_name>\w+)', views.actions, name='actions'),

但不幸的是,我看起来并不能将模板过滤器嵌套到模板标签中。我可以在url标记中引用Django对象的ForeignKey的替代方法是什么?或者可能采用不同的方式构建我的代码?

1 个答案:

答案 0 :(得分:2)

上下文变量可直接在url templatetag中使用:

<form action="{% url 'actions' category_name=category %}">