Насколько я знаю, вы не можете, потому что по непонятной мне причине тег url
не принимает строку в качестве входного аргумента.
Что вам нужно сделать, так эторазвернуть свой собственный тег шаблона, основанный на реализации тега шаблона url
в django, используя переменную в качестве первого аргумента.
Я использую что-то вроде этого (назовите его по своему желанию):
class NavUrlNode(Node):
def __init__(self, *args):
self.name_var = Variable(args[0])
self.args=[]
for ii in range(1,args.__len__()):
self.args.append(Variable(args[ii]))
def render(self, context):
name = self.name_var.resolve(context)
args=[]
for ii in range(self.args.__len__()):
args.append(self.args[ii].resolve(context))
return reverse(name, args=args)
@register.tag
def navigation_url(parser, token):
args = token.split_contents()
return NavUrlNode(*args[1:])