我想将一个 int 参数 (user_id
) 从一个登录 View 传递到另一个 View 。这在 HttpResponseRedirect
中可能吗?我尝试这样的事情:
return HttpResponseRedirect("/profile/?user_id=user.id")
虽然我的 urlconf 是:
(r'^profile/(?P<user_id>\d+)/$', '...')
但我不知道这是否是正确的方法。有什么建议吗?
最佳答案
嗯,这显然不是正确的方法,因为您创建的 URL 与您的 urlconf 中的不匹配。
做到这一点的正确方法是依靠 Django 为您完成。如果你给你的 URL 定义一个名字:
urlpatterns += patterns('',
url(r'^profile/(?P\d+)/$', ' ...', name='profile'),
)
然后您可以使用 django.core.urlresolvers.reverse
生成包含您的参数的 URL:
redirect_url = reverse('profile', args=[user.id])
return HttpResponseRedirect(redirect_url)
请注意,在您的 URL 中使用 kwargs 而不是 args 更好,但我保留了您原来的设置。
关于python - 带有int参数的Django HttpResponseRedirect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785110/