这就是我所做的,也许它会对一些调整有所帮助(你的第一个问题)。
首先我在文件管理器中创建文件夹(里面可以有子文件夹)。
之后,我为画廊中我想要的每个文件夹添加新的 FoldersModel。您必须添加“图片库”和“另一个库”文件夹。
模型.py
from filer.fields.folder import FilerFolderField
class FoldersModel(models.Model):
folder = FilerFolderField()
视图.py
from django.shortcuts import render
from models import FoldersModel
def show(request):
all_folders = FoldersModel.objects.all()
return render(request, 'main.html', {'all_folders': all_folders})
main.html
{% load thumbnail %}
{% for f in all_folders %}
<div class="title">{{ f.folder }}</div>
{% for img in f.folder.files %}
<!-- show files from folder -->
<img src='{% thumbnail img 200x200 crop=scale %}'/>
{% endfor %}
{% for subfolder in f.folder.get_children %}
<!-- getting all subfolders -->
<div class="title">{{ subfolder }}</div>
{% for img in subfolder.files %}
<!-- show files from subfolder -->
<img src='{% thumbnail img 200x200 crop=scale %}'/>
{% endfor %}
{% endfor %}
{% endfor %}
我不确定这是否是最好的方法,但对我有用。
编辑:
我认为最好使用这个:
https ://django-filebrowser.readthedocs.io/en/latest/filelisting.html