2009-05-29 25 views
9

Ich baue derzeit eine Portfolio-Website für einen Kunden, und ich habe Probleme mit einem kleinen Bereich. Ich möchte in der Lage sein, mehrere Bilder (unterschiedliche Anzahl) für jedes Portfolioelement inline hochzuladen, und ich kann keinen offensichtlichen Weg sehen, dies zu tun.Hochladen mehrerer Bilder in Django Admin

Die benutzerfreundlichste Art, die ich sehen kann, wäre ein Datei-Upload-Formular mit einem JavaScript-Steuerelement, das es dem Benutzer ermöglicht, weitere Felder nach Bedarf hinzuzufügen. Hat jemand Erfahrungen mit einem solchen Problem gemacht? In der Tat, gibt es irgendwelche benutzerdefinierten Bibliotheken, die mein Problem lösen könnten?

Ich hatte wenig Aufruf, das Admin-Tool vorher zu ändern, also weiß ich nicht wirklich, wo ich anfangen soll.

Vielen Dank an alle, die etwas Licht werfen können.

Antwort

9

Sie können die Admin-Oberfläche ziemlich einfach mit Javascript erweitern. Es gibt eine good article auf genau das, was Sie wollen, mit ein bisschen jQuery Magie.

Sie würden nur alle seine Code in einer Javascript-Datei werfen müssen und schließen dann die folgenden in Ihrem admin.py:

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

an seiner Quelle sucht, würden Sie müssen auch dynamisch den Link hinzufügen mit Javascript, um mehr inlines hinzufügen, aber das ist ziemlich einfach zu tun:

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

Sie müssen wahrscheinlich einige Styling tun, es richtig aussehen zu lassen, aber das sollten Sie in der richtigen Richtung gestartet.

Auch, da Sie in inline Land sind, überprüfen Sie die inline sort snippet.

9

photologue ist eine funktionsreiche Foto-App für Django. es z.B. Ermöglicht das Hochladen von Galerien als ZIP-Dateien (was gewissermaßen das Hochladen mehrerer Dateien auf einmal bedeutet), erstellt automatisch Vorschaubilder mit verschiedenen benutzerdefinierten Größen und kann Effekte auf Bilder anwenden. Ich habe es einmal für ein Projekt verwendet und die Integration war nicht allzu schwierig.

+1

+1 Photologue ist wirklich, wirklich gut. –

+0

Photologue sieht wie eine gute Bibliothek aus und wird definitiv nützlich sein. Danke für den Tipp. –

Verwandte Themen