Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django URL-如何通过干净的URL传递项目列表?_Django_Url_Django Urls_Nested Lists - Fatal编程技术网

Django URL-如何通过干净的URL传递项目列表?

Django 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基于正则表达式,因此您可以为它提供一个正则表达式,该正则表达式

我需要实现一个类似的结构:example.com/folder1/folder2/folder3/。/view(末尾可以有其他内容而不是“view”)

这个结构的深度不得而知,可能有一个文件夹埋在树的深处。获得这个准确的URL模式是非常重要的,也就是说,我不能只选择example.com/folder\u id


关于如何使用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
    #...