手记

使Django rest framework产生的api可以直接访问图片

setting.py
1 确保'django.contrib.staticfiles'在INSTALLED_APPS里面

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
    'fish',
]

2 配置静态文件目录

STATIC_URL = '/static/'
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,'static')
]

models.py
3 上传的时候要上传到static目录里面,不然Django找不到图片

class ImageItems(models.Model):
    image_name = models.CharField(default='',max_length=100)
    image_select = models.ImageField(upload_to='static/images/%Y/%m/%d')
    def __str__(self):
        return str(self.image_name)
    class Meta:
        verbose_name = '图片集合'
        verbose_name_plural = verbose_name

数据库内自动存储为

Django rest framework产生的api去访问

根据url可以直接得到图片了

如果图片不在static目录下或则没有配置static目录产生的api应该不能直接访问到图片

5人推荐
随时随地看视频
慕课网APP

热门评论

你好,请教一下,你现在这边是一张图片,如果要实现多图片上传呢   image字段中可以显示多张图片

如果只是一级的话会自动添加域名,多级之后就变成相对路径了,怎么弄呢?https://img2.mukewang.com/5b3225ab0001177007680323.jpg

我还是不行,和没有用static一样

查看全部评论