WELCOME

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
任何一个伟大的目标,都有一个微不足道的开始。

上传图片

admin后台上传图片

1)在项目根目录下新建一个upload文件夹,将上传的图片统一的放到项目根目录下的upload文件夹下。

2)如何做到让上传的图片储存到这个新建的文件夹下,需要在setting 中配置

# 配置上传文件所在的目录
MEDIA_ROOT = os.path.join(BASE_DIR, 'upload')   #(MEDIA_ROOT 这词是固定的)这样上传的图片就保存到 upload 下

在写模型类时

image = models.ImageField(upload_to="goods", verbose_name="商品图片")  # upload_to="xxx"   放到upload文件夹下 xxx文
                                    件夹下,这个xxx文件夹不用自己建,在上传图片时自动生成

 注意当上传的是视频时,可以 models.filefield(upload="") 用法跟图片用法一样 

生成迁移文件生成表后我们就可以在admin后台上传图片了。上传后mysql数据库的该字段就有值了,而且在upload文件夹下生成一个包含有新上传图片的goods文件夹。

上传完成后我们要在templates的静态页面显示出来。

# 配置访问上传文件目录的路径
MEDIA_URL = '/upload/'
from django.views.static import serve
from jingtu.settings import MEDIA_ROOT
re_path(r
'upload/(?P<path>.*)$',serve,{"document_root": MEDIA_ROOT }), # 为upload显示图片配一个一级路由

现在就可以在templates的html页面按照下面的写法去显示图片

     注意这里  {{ book.bpic.url }}  也可以显示图片

 

当然也可以采用下面的方法显示图片,但还需一项配置(在settings的TEMPLATES模板中开启一个上下文渲染器)

    这是在TEMPLATES写下红框中的内容

 

 

 

 

 

在html页面的form表单上传图片

 

posted @ 2021-07-09 10:58  给鱼喂猫粮  阅读(123)  评论(0)    收藏  举报