我正在将应用程序从 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。
添加回答
举报
0/150
提交
取消