Django 如何获取文件字段中文件的链接?
如何获取Django 如何获取文件字段中文件的链接?,django,filefield,Django,Filefield,如何获取文件字段的链接?我尝试了url字段,但它给出了文件路径: 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' 我希望得到http:///media/files/refer
文件字段的链接?我尝试了url
字段,但它给出了文件路径:
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'
我希望得到http:///media/files/reference/1342188147.zip
我怎么能得到这个?我必须手动生成字符串吗
编辑
我的媒体URL未设置,但仍无法使其正常工作:
设置.py
models.py
壳内
然后我得到一个路径:
"/some/path/to/file.txt"
对于a.url
:
"http://xxx.com/media/some/path/to/file.txt"
以编程方式完成时,a.file=“/some/path/to/file.txt”
,文件不会上载到MEDIA\u ROOT
。如何将文件上传到upload\u to
定义的目录中,即在我的情况下/home/xxx/media/file.txt
?输出基于您的设置文件,请查看此处了解如何在开发和/或生产中提供静态文件:
我猜您将字段定义为:
picture = models.ImageField(upload_to="/home/xxx/media/files/reference")
换句话说,是否可能为字段的upload_path属性定义了绝对路径
试试像这样的东西
from django.conf import settings
picture = models.ImageField(upload_to=settings.MEDIA_ROOT + "files/reference")
"http://xxx.com/media/some/path/to/file.txt"
picture = models.ImageField(upload_to="/home/xxx/media/files/reference")
from django.conf import settings
picture = models.ImageField(upload_to=settings.MEDIA_ROOT + "files/reference")