2009-05-29 3 views
9

В настоящее время я создаю портфолио для клиента, и у меня возникают проблемы с одной небольшой областью. Я хочу, чтобы иметь возможность загружать несколько изображений (различающееся число) inline для каждого элемента портфеля, и я не вижу очевидного способа сделать это.Загрузка нескольких изображений в администратор Django

Самый удобный способ, который я вижу, - это форма загрузки файла с помощью элемента управления JavaScript, который позволяет пользователю добавлять дополнительные поля по мере необходимости. Кто-нибудь имел какой-либо опыт в такой ситуации? Действительно, есть ли какие-то пользовательские библиотеки, которые могли бы решить мою проблему?

У меня мало было времени для модификации инструмента администрирования до сих пор, поэтому я не знаю, с чего начать.

Спасибо всем, кто может пролить свет.

ответ

9

Вы можете легко расширить интерфейс администратора, используя Javascript. Есть good article, выполняющий именно то, что вы хотите, с малой магией jQuery.

Вы просто должны бросить все его кода в один файл Javascript, а затем включить его в вашем admin.py:

class Photo(admin.ModelAdmin): 
    class Media: 
     js = ('jquery.js', 'inlines.js',) 

Глядя на его источник, вы также должны динамически добавить ссылку чтобы добавить больше Внутристрочные с помощью Javascript, но это довольно легко сделать:

$(document).ready(function(){ 
    // Note the name passed in is the model's name, all lower case 
    $('div.last-related').after('<div><a class="add" href="#" onclick="return add_inline_form(\'photos\')">'); 
}); 

вы, вероятно, нужно сделать некоторые стили, чтобы сделать все это выглядеть правильно, но это должно вам начать работу в правильном направлении.

Кроме того, поскольку вы находитесь в inline землях, ознакомьтесь с inline sort snippet.

9

photologue - многофункциональное приложение для фотографий для django. это, например, позволяет загружать галереи в виде zip-файлов (что в некотором смысле означает загрузку нескольких файлов одновременно), автоматически создает эскизы разных пользовательских размеров и может применять эффекты к изображениям. Я использовал его один раз в одном проекте, и интеграция была не слишком сложной.

+1

+1 Фотолог действительно, очень хорошо. –

+0

Photologue выглядит как хорошая библиотека, и определенно будет полезен. Спасибо за совет. –

 Смежные вопросы

  • Нет связанных вопросов^_^