首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-filer:在模板中读取文件夹结构以创建图库

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

Stack Overflow用户
提问于 2016-07-07 03:40:32
回答 1查看 1.2K关注 0票数 3

我刚刚开始使用Django-Filer,我有点不知道如何引用上传到管理系统中的图像。

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

    • 图片库
      • 专辑1
        • 图1
        • 图2
        • 图3

代码语言:javascript
复制
    - Album 2

代码语言:javascript
复制
- Another Gallery

因此,我的问题是,使用模板中的循环,如何使用相册文件夹作为新的标题来显示每个图像?

第二个相关问题是:如何扩展文件夹模型以包括描述字段,而不破坏它的任何功能?

EN

回答 1

Stack Overflow用户

发布于 2016-10-25 14:04:50

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

首先,我在filer中创建文件夹(里面可以有子文件夹)。

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

models.py

代码语言:javascript
复制
from filer.fields.folder import FilerFolderField

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

views.py

代码语言:javascript
复制
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

代码语言:javascript
复制
{% 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38237211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档