星光不问赶路人,时|

django上传文件夹_Django配置用户上传文件夹和暴露后端文件夹资源,实时更新头像

django上传文件夹_Django配置用户上传文件夹和暴露后端文件夹资源

网站所用的静态文件我们都默认存放到static文件夹下,而用户上传的文件也是静态资源,我们需要找一个公共的地方专门存储用户上传的静态文件。

针对用户上传的不同文件,保存到指定的文件夹下。

media配置专门用来指定用户上传的静态文件存放路径

1、配置文件中书写以下代码

# settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 用户上传的文件就会保存到该文件夹下

# media是文件夹的名字,可以自定义,一般使用media作为名字

当用户上传文件,会自动创建media目录,并且你模型表中指定的上传路径,会自动在media目录下创建相应的上传目录。

例如models类中,avatar字段:

avatar = models.FileField(upload_to='avatar', default='avatar/default.png')

该模型表中指定上传至avatar目录,因此会在media目录下再创建一个avatar目录,用于存放用户的头像

2、还需要将后端文件夹资源暴露给用户,这样用户才能访问到。


先去urls.py中导入模块:

from django.views.static import serve

from bbs import settings

在urls.py中多写一条url,固定的写法:

url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),

实时更新头像

html:
                <div class="form-group" >
                  新头像:
                    <p><label for="avatar">
                        <img src="{% static 'image/default.jpg' %}"(默认的图片) alt="" width="120" id="img">
                    </label></p>
                    <input type="file" name="avatar" id="avatar" style="display: none">
                </div>
jQuery:
    $('#avatar').change(function () {
        // 1.产生一个文件阅读器对象
        let myFileReader = new FileReader();
        // 2.获取用户上传的头像文件
        let avatarObj = this.files[0];
        // 3.将文件对象交给阅读器加载
        myFileReader.readAsDataURL(avatarObj)  // IO操作 需要消耗时间 但是是异步
        // 4.修改img标签的src属性
        // 等待文件阅读器对象加载完毕之后再修改src属性
        myFileReader.onload = function(){
            $('#img').attr('src',myFileReader.result)
        }
    })

本文作者:春游去动物园

本文链接:https://www.cnblogs.com/chunyouqudongwuyuan/p/16335969.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   春游去动物园  阅读(270)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开
  1. 1 生分 川青
生分 - 川青
00:00 / 00:00
An audio error has occurred.

生分 - 川青

词:莎子

曲:邵翼天

编曲:林亦

混音:罗杨轩

吉他:林亦

制作人:谢宇伦

监制:曾炜超/陈显

策划:+7

统筹:黄染染

出品:漫吞吞文化

『酷狗音乐人 • 星曜计划』

全方位推广,见证星力量!

「版权所有未经许可 不得商业翻唱或使用」

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

有些话一开口会伤人

有些话一开口会伤人

所以我选择默不作声

所以我选择默不作声

爱一个人

若甘愿陪衬

甘愿牺牲

也许换个名分

也不是没可能

我不怕在爱里做个蠢人

我不怕在爱里做个蠢人

也不怕爱过之后再分

也不怕爱过之后再分

爱一个人

有万种身份

万种可能

只是没想到

我们最后友人相称

我们怎么变得那么生分

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言

见缝插针

怕不小心我们

成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

有些话一开口会伤人

有些话一开口会伤人

所以我选择默不作声

所以我选择默不作声

爱一个人

若甘愿陪衬

甘愿牺牲

也许换个名分

也不是没可能

我不怕在爱里做个蠢人

我不怕在爱里做个蠢人

也不怕爱过之后再分

也不怕爱过之后再分

爱一个人

有万种身份

万种可能

只是没想到我们最后

友人相称

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言见缝插针

怕不小心我们成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

我们怎么变得那么生分

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言见缝插针

怕不小心我们成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡