1

我有一个这样的网址:

url(r'^(?P<user_id>\d+)/profile/$', views.ProfileView.as_view(), name='profile'),

当用户单击时,Update Profile我会更新表单并message使用messaging framework.

# views

# Use the message framework to pass the message profile successfully updated
messages.success(request, 'Profile details updated.')

# Redirect to the same view with the profile updated successfully message
return HttpResponseRedirect(reverse('profile', args=(request.user.id,)))

但我得到这个错误:

NoReverseMatch at /5/profile/

Reverse for 'profile' with arguments '(5L,)' and keyword arguments '{}' not found.

怎么了?

4

1 回答 1

3

由于 Python 2.xx 的工作方式,您会得到它。

来自数据库行的所有整数都将以Lor为后缀l(通常为大写字母L)。

一种快速而肮脏的方法是

return HttpResponseRedirect(reverse('profile', args=(int(long(request.user.id)),)))
于 2013-09-30T06:44:27.837 回答