2009-05-29 13 views
9

Aktualnie buduję witrynę portfolio dla klienta i mam problemy z jednym małym obszarem. Chcę móc przesłać wiele obrazów (różniących się liczbą) w linii dla każdego elementu portfolio i nie widzę oczywistego sposobu, aby to zrobić.Przesyłanie wielu obrazów w administratorze Django

Najbardziej przyjazny dla użytkownika sposób, jaki widzę, to formularz przesyłania plików ze sterowaniem JavaScript, który pozwala użytkownikowi dodawać więcej pól zgodnie z wymaganiami. Czy ktokolwiek miał jakieś doświadczenie z takim problemem? Rzeczywiście, czy istnieją jakieś niestandardowe biblioteki, które rozwiązałyby mój problem?

Nie miałem wcześniej zaproszenia do modyfikowania narzędzia administratora, więc nie wiem od czego zacząć.

Dziękuję każdemu, kto może rzucić trochę światła.

Odpowiedz

9

Możesz bardzo łatwo rozbudować interfejs administracyjny za pomocą Javascript. Jest good article robienie dokładnie tego, co chcesz z odrobiną magii jQuery.

byłoby po prostu trzeba wyrzucić wszystkie jego kodu JavaScript w jednym pliku, a następnie zaliczyć w admin.py:

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

Patrząc na jego źródła, będzie trzeba także dynamicznie dodać link dodać więcej inlines użyciu JavaScript, ale to dość łatwe do zrobienia:

$(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\')">'); 
}); 

prawdopodobnie trzeba zrobić kilka stylizacji, aby to wszystko wygląda dobrze, ale to powinno Ci zacząć w dobrym kierunku.

Ponadto, ponieważ jesteś w kraju inline, sprawdź numer inline sort snippet.

9

photologue to bogata w funkcje aplikacja do zdjęć dla django. to na przykład pozwala przesyłać galerie jako pliki zip (co w pewnym sensie oznacza wysyłanie wielu plików jednocześnie), automatycznie tworzy miniatury o różnych niestandardowych rozmiarach i może nakładać efekty na obrazy. Użyłem go raz na jeden projekt, a integracja nie była zbyt trudna.

+1

+1 Photologue jest naprawdę, naprawdę dobry. –

+0

Photologue wygląda na dobrą bibliotekę i na pewno będzie przydatny. Dzięki za wskazówkę. –

Powiązane problemy