猿问

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

我正在将应用程序从 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_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,

    })


白猪掌柜的
浏览 137回答 1
1回答

慕虎7371278

resolve()不期望列表作为第二个参数。此函数用于解析对应视图函数的 URL 路径,例如:match = resolve('/some/path/')# Print the URL pattern that matches the URLprint(match.url_name)至于你的情况,我想你正在寻找reverse:from django.urls import reversedef get_absolute_url(self):    reverse('threads_reply', args=[self.id])哪个做相反的事情。它将视图名称反转为 URL。
随时随地看视频慕课网APP

相关分类

Python
我要回答