使用多个kwargs处理django视图的url反向函数

时间:2011-08-22 15:53:09

标签: django url reverse kwargs

我正在使用django构建数据库应用程序。记录的大部分数据都需要支持文档(扫描和上传此文档)。我的许多django视图都包含指向我的扫描视图的链接,并且参数将传递到该视图中。事实上,处理扫描的视图需要9个可选的kwargs。我无法弄清楚如何设置我的urls.py以便处理以下内容:

HttpResponseRedirect(reverse('general_doc_upload', kwargs = doc_parameters))

我确信必须有一种更好的方法来处理这个,而不是试图为每个可能的kwargs组合编写Regex。

不幸的是,我没有很多关于底层数据库结构的余地,这已由客户指定,django模型(和相应的视图)已被编写以适应这种结构。

1 个答案:

答案 0 :(得分:1)

这种情况是将URL中的参数分解的地方。相反,你应该将它们作为GET参数传递 - / my / url / upload /?param1 = foo& param2 = bar等。

在您的urlconf中,只需将基本模式与r'upload/$'匹配,然后使用request.GET['param1']等获取视图中的参数。