gpt4 book ai didi

Django-filer:读取模板中的文件夹结构以创建图库

转载 作者:行者123 更新时间:2023-12-04 17:58:33 25 4
gpt4 key购买 nike

我刚刚开始使用 Django-Filer,但对于如何实际引用在管理系统中上传的图像,我有点迷茫。

我需要在单个页面上显示一个简单的动态画廊,它可以处理多个相册。每个相册都是页面上的一个新标题,该相册中的所有图像都显示在该标题下。我希望在 Django-Filer 的管理系统中使用的粗略结构是:

    • 图库
      • 专辑 1
        • 图片 1
        • 图片 2
        • 图 3
      • 专辑 2
    • 另一个画廊

所以我的问题是,在模板中使用循环,我将如何使用 Album 文件夹作为新标题来显示每张图像?

第二个相关问题是:如何在不破坏其任何功能的情况下扩展文件夹模型以包含描述字段?

最佳答案

这就是我所做的,也许它会对一些调整有所帮助(你的第一个问题)。

首先我在文件管理器中创建文件夹(里面可以有子文件夹)。

之后,我为画廊中我想要的每个文件夹添加新的 FoldersModel。您将必须添加“图片库”和“另一个库”文件夹。

模型.py

from filer.fields.folder import FilerFolderField

class FoldersModel(models.Model):
folder = FilerFolderField()

View .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

关于Django-filer:读取模板中的文件夹结构以创建图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38237211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com