美文网首页
Django开发 显示Model中的图片

Django开发 显示Model中的图片

作者: LuckyBugGo | 来源:发表于2019-02-02 14:36 被阅读0次
    1. 设置settings.py文件中的MEDIA_ROOT和MEDIA_URL属性

    MEDIA_ROOT 用于保存用户上载文件的目录的绝对文件系统路径。
    MEDIA_URL 处理从中提供的媒体的URL MEDIA_ROOT,用于管理存储的文件。如果设置为非空值,则必须以斜杠结尾。

    MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
    MEDIA_URL = '/media/'
    
    1. 设置ImageField属性
    class Goods(models.Model):
        icon = models.ImageField(verbose_name='商品封面',upload_to='goods_icon/', null=True, blank=True)
    

    upload_to是路径,图片的真实路径为:host+settings.py文件的MEDIA_ROOT路径+upload_to+图片名。

    1. 给前端返回图片的URL
    def json(self):
            return {
                'icon': self.icon.url if self.icon else ''
            }
    

    这里不能直接返回icon.url, 因为当icon为空时,就会报错了。做一个空值判断。

    1. 加载图片路径到服务器URL中
    from django.conf.urls.static import static
    from django.conf import settings
    urlpatterns = [
    ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

    相关文章

      网友评论

          本文标题:Django开发 显示Model中的图片

          本文链接:https://www.haomeiwen.com/subject/fkpssqtx.html