我尝试将arg传递给reverse
函数,但是django将参数作为单个字母列表读取。
例如,如果我像这样覆盖它:
def get_success_url(self, **kwargs):
return reverse('profile:detail', args=self.kwargs['username'])
如果username
页面上的detail
是“peter”,我会收到错误消息:
Reverse for 'detail' with arguments '('p', 'e', 't', 'e', 'r')' not found. 1 pattern(s) tried: ['profile/(?P<username>[\\w.@+-]+)/$']
如何在传递参数时覆盖它?
答案 0 :(得分:1)
你需要传递可迭代类型,试试这个:
return reverse('profile:detail', args=[self.kwargs['username']] )
这会将args转换为list。