come posso ottenere il collegamento di un FileField
? Ho provato il campo url
, ma dà il percorso del file:Come ottenere il collegamento del file in FileField?
In [7]: myobject.myfilefield.path
Out[7]: u'/home/xxxx/media/files/reference/1342188147.zip'
In [8]: myobject.myfilefield.url
Out[8]: u'/home/xxxx/media/files/reference/1342188147.zip'
mi aspettavo di ottenere http://<mydomain>/media/files/reference/1342188147.zip
Come posso ottenere che? Devo costruire la stringa manualmente?
EDIT
mio MEDIA_URL non è stato impostato, ma non riesco ancora a farlo funzionare:
settings.py
MEDIA_ROOT = '/home/xxx/media/'
MEDIA_URL = 'http://xxx.com/media/'
models.py
class Archive(models.Model):
#...
file = models.FileField(upload_to="files")
in guscio
a = Archive()
a.file = "/some/path/to/file.txt"
a.save()
Poi ho per a.path
:
"/some/path/to/file.txt"
e per a.url
:
"http://xxx.com/media/some/path/to/file.txt"
Al termine di programmazione, a.file = "/some/path/to/file.txt"
, il file non è caricato a MEDIA_ROOT
. Come posso caricare un file nella directory definita da upload_to
, ad esempio nel mio caso /home/xxx/media/file.txt
?
oops, MEDIA_URL non è stato impostato. – jul
Ma non riesco ancora a ottenere quello che voglio. cf mia modifica. – jul