灵活的正则表达式网址Django

| 我尝试做灵活的网址。我是这样做的
url(r\'^(&\\w*)?/?$\', direct_to_template,
    {\'template\': \'basic.djhtml\'}),
get_absolute_url
def get_absolute_url(self):
    return \"/&%s\" % self.human_redble_url
问题是一个错误:   direct_to_template()为关键字参数“ \ template \”获得了多个值 这是什么意思?我该如何解决? 在Python交互式解释器中,此正则表达式有效
>>> import re
>>> reg = re.compile(\'^(&\\w*)?/?$\')
>>> result = reg.match(\'&post1\')
>>> result
<_sre.SRE_Match object at 0xb77098a0>
>>> wrong = reg.match(\'aergsr\')
>>> print wrong
None
>>> reg.match(\'post1\')
>>> print reg.match(\'post1\')
None
>>> print reg.match(\'&post1/\')
<_sre.SRE_Match object at 0xb77097a0>
>>> print reg.match(\'&post1:\')
None 
    
已邀请:
        我不明白“&”号在那做什么,但没关系。 我怀疑问题是您没有在URL中使用命名组。因此,捕获的字符串将作为第一个位置参数(实际上是
template
)发送到视图函数,因此它与模板关键字arg冲突。 使用一个命名的组-
&(?P<my_arg>\\w*)?/?$
-它应该起作用。     

要回复问题请先登录注册