Come salvare l'url dell'immagine di cui ho appena fatto l'upload, in un campo dello stesso modello

12 views
Skip to first unread message

Maurizio Mastria

unread,
Feb 25, 2019, 11:34:37 AM2/25/19
to Django-it
Salve a tutti,

qualcuno di voi saprebbe dirmi come risolvere questa situazione?
Vorrei che nel campo "url" venga salvato l'url dell'immagine "image" di cui faccio l'upload.
Al campo ImageField() non ho messo upload_to perchè vengono salvati automaticamente in MEDIA_ROOT e sono comunque visibili in MEDIA_URL

La direttiva "self.image.url" è vuota al momento del salvataggio probabilmente perchè non ha salvato ancora l'url nell'oggetto/campo "image".

Grazie anticipatamente.

Maurizio
from django.db import models
from django.utils import timezone

# Create your models here.
class Image(models.Model):
    author
= models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title
= models.CharField(max_length=255,default=None)
    name
= models.CharField(max_length=255,default=None)
   
    slug
= models.SlugField(blank=True)
    image
= models.ImageField()
    url
= models.URLField(blank=True)
    alt
= models.TextField(blank=True)
   
   
def publish(self):
       
self.url=self.image.url
       
self.save()

       
   
def __str__(self):
       
return self.title

Fundor 333

unread,
Mar 1, 2019, 2:09:25 AM3/1/19
to Django Italia


Il lun 25 feb 2019, 17:34 Maurizio Mastria <mast...@gmail.com> ha scritto:
Salve a tutti,

qualcuno di voi saprebbe dirmi come risolvere questa situazione?
Vorrei che nel campo "url" venga salvato l'url dell'immagine "image" di cui faccio l'upload.
Al campo ImageField() non ho messo upload_to perchè vengono salvati automaticamente in MEDIA_ROOT e sono comunque visibili in MEDIA_URL

La direttiva "self.image.url" è vuota al momento del salvataggio probabilmente perchè non ha salvato ancora l'url nell'oggetto/campo "image".

Suggerisco di aggiornare con un postsave https://docs.djangoproject.com/en/2.1/ref/signals/ mettendo a URL un vincolo di esistenza e poi salvare il dato.

In ogni caso non ne capisco l utilità in quanto hai già l URL nel campo immagine ed è cercabile

Fundor333

Maurizio Mastria

unread,
Mar 1, 2019, 3:32:37 AM3/1/19
to djan...@googlegroups.com
Grazie per la tua risposta. Effettivamente hai ragione. È una domanda stupida ma all'inizio non sapevo dove mettere le mani. Perdonami🙏 ...e grazie.

Maurizio

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Django-it" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a django-it+...@googlegroups.com.
Per postare in questo gruppo, invia un'email a djan...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/django-it.
Per altre opzioni visita https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages