Vous n'êtes pas identifié(e).
Bonjour,
En passant une méthode à list_display, j'ai réussi à ajouter une colonne.
https://docs.djangoproject.com/en/1.5/r … st_display
32 def iconprev(self, request):
33 iconurl = "/filetype/48px/" + self.extension[1:] + '.png'
34 urlabs = [str(fileupload.__path__), 'static/img/filetype', self.extension[1:] + '.png']
35 print("URL ABS %s " % urlabs)
36 if exists('/'.join(urlabs)):
37 return format_html("<img src='{0}' />", iconurl)
38 elif request.method == 'POST':
39 form = UploadIconForm(request.POST, request.FILES) # Hérite de forms.Form et dispose d'un champ forms.FileField
40 if form.is_valid():
41 print("HANDLE FILES %s" % request.FILES['file']) # Traiter les fichiers ici !
42 return HttpResponseRedirect() # Que renvoyer ? faire un formulaire avec angularjs et renvoyer un Json pour faire de l'ajax
43 else:
44 form = UploadIconForm()
45 return render_to_response('uploadicons.html', {'form' : form})
cette méthode fait partie du model pour lequel je veux ajouter une colonne. Est-il possible de faire passer l'objet request à iconprev en passant par list_display:
class FileTypeAdmin(admin.ModelAdmin):
list_display('extension', 'mimetype', 'iconprev')
Dernière modification par azman0101 (07-10-2013 15:40:53)
Hors ligne
Il ne me semble pas que tu aies de POST et que le list_display de l'admin soit formé. Normalement, le list_display ne sera traité qu'après le redirect consécutif à un POST.
Du coup, tu devrais pouvoir changer le iconprev(self, request) en iconprev(self, request=None) et elif request.method == 'POST' en elif request and request.method == 'POST'
Hors ligne