2009-05-29 12 views
9

Attualmente sto creando un sito portfolio per un cliente e ho problemi con una piccola area. Voglio poter caricare più immagini (numero variabile) in linea per ogni articolo del portfolio e non riesco a vedere un modo ovvio per farlo.Caricamento di più immagini nell'amministratore di Django

Il modo più intuitivo che riesco a vedere sarebbe un modulo di caricamento file con un controllo JavaScript che consente all'utente di aggiungere altri campi come richiesto. Qualcuno ha avuto esperienza con un problema come questo? In effetti, ci sono delle librerie personalizzate là fuori che potrebbero risolvere il mio problema?

Ho avuto poche chiamate per modificare lo strumento di amministrazione prima d'ora, quindi non so da dove iniziare.

Grazie a chiunque riesca a far luce.

risposta

9

È possibile estendere l'interfaccia di amministrazione abbastanza facilmente utilizzando Javascript. C'è un good article sul fare esattamente quello che vuoi con un po 'di magia jQuery.

Si sarebbe solo dovuto gettare tutto il suo codice in un file JavaScript e quindi includere quanto segue nel admin.py:

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

Guardando la sua fonte, si dovrà anche aggiungere dinamicamente il link per aggiungere più inline utilizzando Javascript, ma questo è abbastanza facile da fare:

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

probabilmente è necessario fare un po 'lo stile per rendere il tutto guardare a destra, ma che dovrebbe iniziare nella giusta direzione.

Inoltre, dal momento che sei nel inline terra, controlla il inline sort snippet.

9

photologue è un'app fotografica ricca di funzionalità per django. ad es. ti consente di caricare gallerie come file zip (che in un certo senso significa caricare più file contemporaneamente), crea automaticamente miniature di dimensioni personalizzate diverse e può applicare effetti alle immagini. L'ho usato una volta su un progetto e l'integrazione non era troppo difficile.

+1

+1 Il fotologo è davvero, davvero buono. –

+0

Photologue sembra una buona libreria e sarà sicuramente utile. Grazie per il consiglio. –

Problemi correlati