2016-07-07 8 views
2

Django-Filerの使用を開始しましたが、管理システムでアップロードされた画像を実際にどのように参照できるかは少し分かりません。Django-filer:テンプレートのフォルダ構造を読み込んでギャラリーを作成する

複数のアルバムを扱うことができる、単一のページに簡単な動的ギャラリーを表示する必要があります。各アルバムはページ上の新しい見出しであり、そのアルバムのすべてのイメージがその見出しの下に表示されます。私はジャンゴ・ファイラーの管理システムで使用することを願っています ラフ構造は次のとおりです。

  • ルート
    • イメージギャラリー
      • アルバム1
        • 画像1
        • 画像2
        • 画像3
      • アルバム2
    • 別のギャラリー

だから私の質問はどのように私のようにアルバムフォルダを使用して、それぞれの画像を表示するに行くか、テンプレートでループを使用して、あります新しい見出しですか?

2番目の関連する質問は、その機能のいずれも破ることなく、フォルダーモデルを説明フィールドを含むように拡張する方法です。

答えて

0

私がやったことですが、多少の調整(最初の質問)に役立つかもしれません。

まず、ファイラー内にフォルダーを作成します(内部にサブフォルダーがあります)。

その後、ギャラリーに必要なフォルダごとに新しいFoldersModelを追加します。 「イメージギャラリー」と「別のギャラリー」フォルダを追加する必要があります。

models.py

from filer.fields.folder import FilerFolderField 

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

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

関連する問題