我想在其视频中使用与khanacademy.org相同的网址格式。假设我打开了一个标题为“The Beauty of Algebra”的视频,其网址为http://www.khanacademy.org/math/algebra/introduction-to-algebra/v/the-beauty-of-algebra。
它在url中显示了三个级别的类别(数学,代数和代数介绍)。同样我想在django。类别级别(参数数量)可能会增加到N.
我不想硬编码像
这样的网址url(r"^(?P<level_one>[a-zA-Z]+)/v/(?P<slug>[-\w]+)/$", "my_view", name="level_one"),
url(r"^(?P<level_one>[a-zA-Z]+)/(?P<level_two>[a-zA-Z]+)/v/(?P<slug>[-\w]+)/$", "my_view", name="level_two"),
url(r"^(?P<level_one>[a-zA-Z]+)/(?P<level_two>[a-zA-Z]+)/(?P<level_three>[a-zA-Z]+)/v/(?P<slug>[-\w]+)/$", "my_view", name="level_three"),
...
谢谢!
答案 0 :(得分:2)
我认为urls.py
中可能存在可变数量的参数。最好的选择可能是拥有一个通用的catch-all url,它指向你编写自己的url调度程序的视图,这比django的url可以提供的更复杂。
您可以解析路径并处理视图中的N个级别。