Если вы используете django 2.0 +:
re_path(r'^.*', some_view)
В противном случае:
url(r'^.*', some_view)
Вы должны поставить это после всех других URL, иначе они перестанут работать, потому что этот шаблон соответствует каждомуurl.
И тогда вы получите путь в своем представлении:
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']