2009-05-29 5 views
9

Je suis en train de créer un site de portfolio pour un client, et j'ai des problèmes avec un petit domaine. Je veux être en mesure de télécharger plusieurs images (nombre variable) en ligne pour chaque élément de portefeuille, et je ne vois pas de façon évidente de le faire.Téléchargement de plusieurs images dans Django admin

La manière la plus conviviale que je peux voir serait un formulaire de téléchargement de fichiers avec un contrôle JavaScript qui permet à l'utilisateur d'ajouter plus de champs si nécessaire. Quelqu'un a-t-il déjà eu l'expérience d'un problème comme celui-ci? En effet, existe-t-il des bibliothèques personnalisées qui résoudraient mon problème?

J'ai eu peu d'appels pour modifier l'outil d'administration avant maintenant, donc je ne sais pas par où commencer.

Merci à tous ceux qui peuvent faire la lumière.

Répondre

9

Vous pouvez étendre l'interface d'administration assez facilement en utilisant Javascript. Il y a un good article sur faire exactement ce que vous voulez avec un peu de magie jQuery.

Vous devriez juste jeter tout son code dans un fichier Javascript, puis inclure les éléments suivants dans votre admin.py:

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

regardant sa source, vous auriez aussi ajouter dynamiquement le lien pour ajouter d'autres inline en utilisant Javascript, mais c'est assez facile à faire:

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

vous avez probablement besoin de faire un peu de style pour le rendre tout l'air bien, mais que vous devriez aider à démarrer dans la bonne direction.

En outre, puisque vous êtes dans inline terrain, consultez le .

9

photologue est une application photo riche en fonctionnalités pour django. par exemple vous permet de télécharger des galeries sous forme de fichiers zip (ce qui dans un sens signifie télécharger plusieurs fichiers à la fois), crée automatiquement des miniatures de différentes tailles personnalisées et peut appliquer des effets aux images. Je l'ai utilisé une fois sur un projet et l'intégration n'était pas trop difficile.

+1

+1 Photologue est vraiment, vraiment bien. –

+0

Photologue ressemble à une bonne bibliothèque, et va certainement être utile. Merci pour le conseil. –