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