Django: автоматическая генерация списка файлов в каталоге - PullRequest
8 голосов
/ 12 августа 2011

Я использую приложение галереи изображений на моем сайте. В настоящее время я помещаю файлы изображений в каталог и пишу HTML-теги img для каждого изображения вручную. Можно ли заставить django автоматически создавать список файлов в каталоге и отправлять вывод json в приложение галереи, чтобы я мог создать javascript для генерации <img> элементов для каждого файла изображения. Или, когда запрашивается приложение галереи, могу ли я напрямую сделать django для автоматической генерации <img> элементов для каждого из файлов в каталоге.

Ответы [ 2 ]

16 голосов
/ 12 августа 2011

вот код для вас:

views.py

import os 

def gallery(request):
    path="C:\\somedirectory"  # insert the path to your directory   
    img_list =os.listdir(path)   
    return render_to_response('gallery.html', {'images': img_list})

gallery.html

{% for image in images %}
<img src='/static/{{image}}' />
{% endfor %}
4 голосов
/ 12 августа 2011
import os
from django.conf import settings
from annoying.decorators import ajax_request

@ajax_request
def json_images(request, dir_name):
    path = os.path.join(settings.MEDIA_ROOT, dir_name)
    images = []
    for f in os.listdir(path):
        if f.endswith("jpg") or f.endswith("png"): # to avoid other files
            images.append("%s%s/%s" % (settings.MEDIA_URL, dir_name, f)) # modify the concatenation to fit your neet
    return {'images': images}

эта функция возвращает объект json, содержащий все изображения в каталоге внутри MEDIA_ROOT.

требуют пакетов, раздражающих django;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...