在我的django项目中,我有两个模型类 - 类别& Action。类别是操作的外键(所有操作都属于类别)。如何将上下文对象作为Django url模板标签参数传递
在我的django模板中,我希望能够将一个上下文对象传递到接受包含类别名称的字符串作为参数的{%url%}标记。因此,在一个完美的世界我的Django的模板需要有这样一行:
<form action="{% url 'actions' {{ category }} %}">
,并提交时,Django的将遵循形式像URLPATTERN:
url(r'^(?P<category_name>\w+)', views.actions, name='actions'),
不过遗憾的是它不看起来我能够将模板过滤器嵌入到模板标记中。我可以通过url标记引用Django对象的ForeignKey,这是另一种方式吗?或者用不同的方式来构建我的代码?
什么是你的问题,你需要一个字符串传递到它是类对象的名称的网址?是吗? – zaidfazil
是的,确切地说。问题是,因为它是一个跨越多个类别使用的Django模板,字符串不能被硬编码(例如,我不能只放入'Category_One'来代替{{category}},因为如果我试图访问'Category_Two') – Argonautic
这个问题经常出现,我不明白为什么人们认为你需要在模板标签中使用可变语法。 [url'标签的文档](https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#url)甚至有几个直接使用变量的例子。 –