URL文件夹系统Django Python

时间:2019-03-02 10:40:11

标签: python django url directory

如何像Dropbox一样使用URL在文件夹之间移动。
示例:我有一个指向文件 site_name / home / path1 / path2 / file
的网址 我如何从Django中的url中获取 path1 / path2 / file 作为参数?
或者唯一的方法是使用GET参数作为PATH来文件 site_name / home?path = path1 / path2 / file

1 个答案:

答案 0 :(得分:1)

如果您使用的是Django 2.0 +:

re_path(r'^.*', some_view)

否则:

url(r'^.*', some_view)

您应该将其放在所有其他网址之后,否则它们将停止工作,因为此模式匹配每个网址。

然后在您的视图中获得路径:

def some_view(request):
    full_path = request.path

    split_path = full_path.split('/')

    # If you have slash at the end of the url, you should pick the second last item.
    if len(split_path[-1] < 1:
        file = split_path[-2]
        folders = split_path[2:len(split_path)-2]
    else:
        file = split_path[-1]
        folders = split_path[2:len(split_path)-1]

对于site.com/home/path1/path2/path3/file/这样的路径,如果打印folders,则会得到以下信息:

['path1', 'path2', 'path3']