Django URL-如何通过干净的URL传递项目列表?
我需要实现一个类似的结构:example.com/folder1/folder2/folder3/。/view(末尾可以有其他内容而不是“view”) 这个结构的深度不得而知,可能有一个文件夹埋在树的深处。获得这个准确的URL模式是非常重要的,也就是说,我不能只选择example.com/folder\u idDjango URL-如何通过干净的URL传递项目列表?,django,url,django-urls,nested-lists,Django,Url,Django Urls,Nested Lists,我需要实现一个类似的结构:example.com/folder1/folder2/folder3/。/view(末尾可以有其他内容而不是“view”) 这个结构的深度不得而知,可能有一个文件夹埋在树的深处。获得这个准确的URL模式是非常重要的,也就是说,我不能只选择example.com/folder\u id 关于如何使用Django URL dispatcher实现这一点,您有什么想法吗?Django的URL dispatcher基于正则表达式,因此您可以为它提供一个正则表达式,该正则表达式
关于如何使用Django URL dispatcher实现这一点,您有什么想法吗?Django的URL dispatcher基于正则表达式,因此您可以为它提供一个正则表达式,该正则表达式将匹配您想要的路径(使用重复组)。 但是,我找不到让django的url dispatcher匹配多个子组的方法(它只返回最后一个匹配项作为参数),因此一些参数处理留给了视图 下面是一个示例url模式:
urlpatterns = patterns('',
#...
(r'^(?P<foldersPath>(?:\w+/)+)(?P<action>\w+)', 'views.folder'),
)
刚刚注意到它是重复的,但是也许有人会发现regexp很有用。非常感谢。不幸的是,我在发帖时找不到这个问题。regexp很好,谢谢。
urlpatterns = patterns('',
#...
(r'^(?P<foldersPath>(?:\w+/)+)view', 'views.folder_View'),
(r'^(?P<foldersPath>(?:\w+/)+)delete', 'views.folder_delete'),
)
def folder(request, foldersPath, action):
folders = foldersPath.split("/")[:-1]
print "folders:", folders, "action:", action
#...