为了账号安全,请及时绑定邮箱和手机立即绑定

不可散列的类型:“列表”

不可散列的类型:“列表”

白猪掌柜的 2022-07-12 09:59:27
我正在将应用程序从 django 1.8 和 python 2.7 移植到 django 2.2 和 PYTHON 3.6这是在 python 2.7 中 def get_absolute_url(self):        return ('threads_reply', [self.id])    get_absolute_url = models.permalink(get_absolute_url)我也改了def get_absolute_url(self):    return django.urls.resolve('threads_reply', [self.id])它现在崩溃了@login_requireddef inbox(request, template_name='django_messages/inbox.html'):    """    Displays a list of received messages for the current user.    Optional Arguments:        ``template_name``: name of the template to use.    """    thread_list = Thread.objects.inbox_for(request.user)    return render(request, template_name, {        'thread_list': thread_list,    })
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

resolve()不期望列表作为第二个参数。此函数用于解析对应视图函数的 URL 路径,例如:


match = resolve('/some/path/')

# Print the URL pattern that matches the URL

print(match.url_name)

至于你的情况,我想你正在寻找reverse:


from django.urls import reverse


def get_absolute_url(self):

    reverse('threads_reply', args=[self.id])

哪个做相反的事情。它将视图名称反转为 URL。


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信