我正在寻找一种在Django项目中拥有多个可选URL参数(键值对)的方法。
理想情况下,我需要能够处理无数个键值对的东西。采用以下格式。
http://example.com/example/key1/value1/
http://example.com/example/key1/value1/key2/value2/
http://example.com/example/key1/value1/key2/value2/key3/value3/
这种URL结构的用例适用于可能会或可能不会应用于对象列表的不同过滤器,传统上我会使用查询字符串,但我的印象是查询字符串不太好对于SEO。
我不太确定两件事:
非常感谢任何帮助/指示!
答案 0 :(得分:1)
将此网址添加到urls.py
:
url(r'^example/(.*)', 'app.views.key_values_view'),
然后获得键/值对的词典:
def key_values_view(request, path):
bits = path.split('/')
it = iter(bits)
data = dict(zip(it, it))
key1 = data.get('key1')
key2 = data.get('key2')
key3 = data.get('key3')
...