Django: Photologue non mostra le immagini nei modelli
-
06-07-2019 - |
Domanda
Sto cercando di installare django-photologue. Tutto sembra ok, perché installo e configuro seguendo le linee guida ufficiali. Devo caricare alcune foto come esempi. Tuttavia, quando si visualizzano i dettagli di una foto o di una galleria, si verifica un errore come segue:
Caught an exception while rendering: 'Photo' object has no attribute 'get_thumbnail_url'
Ho provato a rimuovere il seguente codice dal file photo_detail.html
{% if object.public_galleries %}
<h2>This photo is found in the following galleries:</h2>
<ol>
{% for gallery in object.public_galleries %}
<li>{%previous_in_gallery object gallery%} <a href="{{ gallery.get_absolute_url }}">{{ gallery.title }}</a> {%next_in_gallery object gallery%}</li>
{% endfor %}
</ol>
{% endif %}
Non più errori, ma le immagini non vengono visualizzate. Se si fa clic sul collegamento, verranno comunque visualizzate correttamente le fotografie. Penso che il problema sia:
{{ object.get_display_url }}
Non restituisce assolutamente alcun valore. Per favore aiutami a risolvere questo problema. Grazie!
Soluzione
Hai eseguito python manage.py plinit
dopo l'installazione e hai scelto di creare sia una anteprima
che display
photosize? Questi photosize devono essere definiti nel tuo database.
Altri suggerimenti
In altre versioni, devi modificare photologue / templates / photolog / tags / next_in_gallery.html e sostituirlo
{{ photo.get_thumbnail_url }}
con
{{ photo.thumbnail.url }}
Lo stesso vale per photologue / templates / photolog / tags / prev_in_gallery.html.
Onestamente guardando la fonte, sembra un bug nel progetto. Se cerca nella sorgente , la miniatura non sembra essere un campo all'interno della classe Photo ( get_FIELD_url
è un modo semplice per accedere a un ImageField url btw.) Quindi consiglierei di armeggiare con la fonte o trovare un altro progetto. Potrei sbagliarmi però, ma è quello che ha trovato la mia scansione di ~ 5 minuti del progetto.