【发布时间】:2011-05-27 11:59:27
【问题描述】:
我正在编写一个 django 应用程序,其 URL 类似于“http://localhost/entity/id/?overlay=other_id”。其中 id 是特定实体的主键,overlay 是要在显示中覆盖的第二个实体的可选查询参数。用户只能在通过叠加层查看对象时更新实体。当 POST 到 /update/id 时,我想重定向回 /entity/id,但我不想在重定向期间丢失我的查询参数,因为视图的变化会很不协调。
例如,我的 url.py 中有以下内容:
...
(r'^update/(?P<id>.+)/(?P<overlay_id>.+)/$', 'update'),
(r'^entity/(?P<id>.+)/$', 'view'),
...
因为更新时需要overlay_id,所以它是URL 的一部分,而不是查询参数。在 django 视图中,我想在 POST 成功后重定向并使用 reverse() 来避免在我的 python 代码中引用 URL。总体思路是:
return HttpResponseRedirect(
reverse('views.view',
kwargs={
'id': id,
},
)
)
但是如何通过反向传递我的查询参数?
谢谢, 克雷格
【问题讨论】:
标签: django django-views