首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不可散列的类型:'list‘

不可散列的类型:'list‘
EN

Stack Overflow用户
提问于 2020-01-30 00:23:22
回答 1查看 58关注 0票数 1

我正在将应用程序从django 1.8和python 2.7移植到django 2.2和PYTHON 3.6

这是在python 2.7中实现的

代码语言:javascript
代码运行次数:0
运行
复制
 def get_absolute_url(self):
        return ('threads_reply', [self.id])
    get_absolute_url = models.permalink(get_absolute_url)

我也改了

代码语言:javascript
代码运行次数:0
运行
复制
def get_absolute_url(self):
    return django.urls.resolve('threads_reply', [self.id])

现在它在这里崩溃了

代码语言:javascript
代码运行次数:0
运行
复制
@login_required
def 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,
    })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-30 00:31:29

resolve()不希望list作为第二个参数。此函数用于解析指向相应视图函数的URL路径,例如:

代码语言:javascript
代码运行次数:0
运行
复制
match = resolve('/some/path/')
# Print the URL pattern that matches the URL
print(match.url_name)

至于你的情况,我想你是在找reverse

代码语言:javascript
代码运行次数:0
运行
复制
from django.urls import reverse

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

这做了相反的事情。它将视图名称反向转换为URL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59971427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档