python - 带有int参数的Django HttpResponseRedirect

标签 python django django-views django-urls

我想将一个 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/

相关文章:

django - 使用 apache 和 mod_wsgi 时,我在哪里存储 django 项目代码?

python - Django 按小时过滤

python - 从 python 和字符串连接运行 shell 命令

python - Numpy:按最后一维堆叠数组

html - 将值从 Django View 传递到 AngularJS 插入的模板

python - 每当我运行Django程序时,我都会继续收到错误消息

django - 为什么 django-rest-auth SocialLoginView 不起作用?

python - 获取相关模型值的字典

python - Python 中的线程安全(质疑它是如何工作的)

python - 从巨大的 CSV 文件中读取随机行