【问题标题】:Getting "AttributeError: 'str' object has no attribute 'regex'" in Django urls.reverse在Django urls.reverse中获取“AttributeError:'str'对象没有属性'regex'”
【发布时间】:2017-04-28 02:19:13
【问题描述】:
正如标题,我得到了
AttributeError: 'str' 对象没有属性 'regex'
我已经看到了很多有效的答案,但没有一个适用于我的代码,因为他们在 urls.py 文件中发现了问题。我的问题在views.py 文件中。
使用反向生成重定向 URL 时出现异常:
HttpResponseRedirect(reverse('changetracker:detail', args))
当我在其他函数中使用 'changetracker:detail' 时,我没有收到异常。
【问题讨论】:
标签:
regex
django
url
attributeerror
【解决方案1】:
我回答这个问题是为了分享知识,因为我还没有发现这个特定的根本原因。
问题原来是我应该使用关键字参数 'args=args' 来传递 URL 参数,而不是位置参数:
HttpResponseRedirect(reverse('changetracker:detail', args=args))
使用位置参数(位置 2)导致反向使用该参数作为 URL 列表,从而引发 AttributeError。