Django - Получение всех URL для папок и вложенных папок
Я создаю приложение для галереи изображений, которое не требует базы данных. Пользователь помещает папку с изображениями и ее подпапки в каталог '/media', а скрипты python собирают данные, такие как полный путь, имя каталога, путь/имена изображений внутри, подпапки и их изображения, отправляют эти данные в представление и они отображаются в шаблоне.
Все первые папки работают, я могу получить к ним доступ, увидеть их содержимое, но я не могу получить доступ к подпапкам внутри этих галерей.
Я хочу, чтобы url выглядел примерно так, но часть вложенных папок не работает.
website.com/directory/<folder1>/<subfolder>/
Первая папка работает с str:data, она отображается. пагинация работает, изображения выводятся в шаблон, но я не знаю, как заставить урлы работать для всех последующих директорий.
path(r"directory/<str:data>/", views.directory, name="directory"),
Вот как выглядит код для этого сейчас, я подумал, что slug будет уместен, учитывая, что имена файлов могут быть самыми разными.
urls.py
path(r"directory/album/<slug:item>", views.album, name="album")
view.py
def directory(req, data):
sl = MyClass()
dir = data
albums = sl.folder_path(data, include_gallery=True)
img_list = sl.list_files(dir)
paginator = Paginator(img_list, 9)
page_number = req.GET.get('page')
page_obj = paginator.get_page(page_number)
return render(req, "galleries/galleries.html", {"album": albums, "images": page_obj})
def album(req, data):
print(data)
sl = MyClass()
query = data
img_list = sl.list_files(query, include_gallery=False)
paginator = Paginator(img_list, 9)
page_number = req.GET.get('page')
page_obj = paginator.get_page(page_number)
return render(req, "galleries/album.html", {"images": page_obj})
template.html
<li><a href="{% url 'album' item %}">
<img src="{% static 'folder.svg' %}" alt="A green folder icon">{{ item }}</a></li>