Skip to main content
 首页 » 编程设计

python之Django 中可选的多个 URL 键值对参数

2025年05月04日34wayfarer

我正在寻找一种在 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 结构的用例是针对可能应用于或不应用于对象列表的不同过滤器,传统上我会使用查询字符串,但我的印象是查询字符串不太好用于搜索引擎优化。

我不太确定两件事:

  1. 如何编写URL规则
  2. 如何解释 View 中的键值参数<​​/li>

任何帮助/指点将不胜感激!

请您参考如下方法:

将此 url 添加到 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') 
 
    ...