Trucs de l'administrador de Django
Escrit per Aaloy a 19 de March , 2009 a les 11:50 p.m.
Encara que a la documentació de l'administrador ho diu, sovint estam tan acostumats a fer feina amb camps que ens oblidam que al list_display de l'admin de Django hi podem fer servir qualsevol atribut o mètode susceptible de ser cridat (entre d'altres opcions).
Això obre tot un món de possibilitats a l'hora de presentar informació en forma tabular dins l'admin, podem crear enllaços cap a altres seccions, mostrar imatges, el que se'ns pugui ocorre i que tengui algun tipus de lligam amb el model.
Un exemple ben senzill, suposem que tenim un model que té una imatge associada, el que voldríem és que a la informació ens aparegui aquesta imatge, llavors faríem:
Al model afegim
1 2 3 4 5 6 7 | def get_foto(self): if self.foto: return '<img src="%s" width="64">' % self.foto.url else: return "" get_foto.allow_tags = True get_foto.short_description = 'Foto' |
i a l'admin.py afegirem a la configuració de l'administrador del nostre model
1 | list_display = ('get_foto', ...) |
Podem complicar-ho tant com vulguem, un exemple ho tenim al Django Snippet d'Admin list Thumbnail, que complica la funció per a crear les miniatures de les imatges que es presentaran i disminuir així el pes de la plana.
El que és important d'aquest exemple és veure l'ús que es fa de allow_tags, si el mètode té aquesta propietat Django no escaparà l'html que li passem, donant-nos joc a presentar tot tipus de codi html, baix la nostra responsabilitat, clar.
Enllaços citats
Traducciones/Translations by apertium
0 comentaris, 0 trackbacks (URL) , Tags: Python Django
