django获取图片/文件路径

背景:

使用django给前端返回json数据时,对于图片的处理时常返回图片的url地址,android端使用图片加载框架加载图片.

django返回图片url地址:

class UserInfo(models.Model):
    username = models.CharField(max_length=20,verbose_name='用户名')
    psw = models.CharField(max_length=20,verbose_name='密码')
    phone = models.CharField(max_length=18,verbose_name='电话')
    head_img = models.ImageField(upload_to='head_img',verbose_name='头像')

返回json:

数据库存储的只是图片的相对路径,要想获取到图片的绝对路径,需要资源文件夹路径+图片相对路径
返回的url = ip地址:端口+资源文件夹路径+图片相对路径
资源文件夹路径是settings.py中设置的媒体文件路径.

def app_sign_in(request):
    if request.method == 'POST':
        phone = request.POST['phone']
        psw = request.POST['psw']
        user = UserInfo.objects.filter (phone=phone)
        head_path = 'http://127.0.0.1:8080'+settings.MEDIA_URL
        for u in user:
            return JsonResponse({'code':1, 'msg':head_path+ u.head_img.name})

结果:

{
  "code": 1,
  "msg": "http://127.0.0.1:8080/media/head_img/QQ浏览器截图20190416182255_IOFAydk.png"
}

你可能感兴趣的:(django获取图片/文件路径)