zoukankan      html  css  js  c++  java
  • django之图片预览实现方法

    一、 jquery实现循环的两种方式

    $.each(数组/对象,function(i,v){})
    $("div").each(function(i,v){})
    

    二、提交二进制数据用FormData

    var formData=new FormData();
    formData.append("username",$("#id_username").val()); 
    formData.append("email",$("#id_email").val());
    formData.append("tel",$("#id_tel").val());
    formData.append("password",$("#id_password").val());
    formData.append("password_again",$("#id_password_again").val());
    formData.append("avatar_img",$("#avatar")[0].files[0]);
    

    必须加上

    contentType:false
    processData:false
    

    三、判断是什么请求

    request.ajax()

    四、类似于static的media

    1. 在settings.py做如下配置
    MEDIA_URL="/media/"  #别名
    MEDIA_ROOT=os.path.join(BASE_DIR,"app01","media","uploads")   #具体路径
    
    1. urls.py的配置
    from django.views.static import serve
    url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
    
    1. 用处
    用处一:
     avatar = models.FileField(verbose_name='头像', upload_to='avatar', default="/avatar/default.png")
    会把接收的文件放在media指代的路径与upload_to的拼接:BASE_DIR+blog+media+uploads+avatar/a.png
    avatar字段在数据库中保存的是:avatar/a.png
     
    用处二:                                           
    `<img src="/media/avatar/a.png">`
    

    五、头像预览

    $(".avatar_file").change(function () {
           var ele_file = $(this)[0].files[0]; 当前选中的文件
           `var reader = new FileReader();`
          ` reader.readAsDataURL(ele_file);` 对应找到打开的url
           `reader.onload`=function () {
                # 方法一
                $(".avatar_img").attr("src",this.result) ; this.result是上面找到的url
                # 方法二
                $(".avatar_img")[0].src=this.result; 设置图片属性
                }
            })
    
    <div class="form-group avatar">
           <label for="avatar">头像:</label>
            `<img src="/static/image/default.png" alt="" class="avatar_img">`
            <input type="file" id="avatar" name="avatar_file" class="avatar_file">
    </div>
    
    .avatar{
        position: relative;
         70px;
        height: 70px;
    }
    .avatar_img,.avatar_file{
        position: absolute;
         70px;
        height: 70px;
        top: 0;
        left: 46px;
    }
    .avatar_file{
        opacity: 0;
    }
    
  • 相关阅读:
    [转]scrapy中的request.meta
    Item Pipeline
    scrapy spider官方文档
    scrapy选择器主要用法
    scrapy 选择器官方文档
    【bzoj3514】Codechef MARCH14 GERALD07加强版 LCT+可持久化线段树
    【bzoj3813】奇数国 线段树
    【loj6177】「美团 CodeM 初赛 Round B」送外卖2 Floyd+状压dp
    【bzoj4499】线性函数 线段树
    【bzoj1018】[SHOI2008]堵塞的交通traffic 线段树区间合并+STL-set
  • 原文地址:https://www.cnblogs.com/longyunfeigu/p/8687785.html
Copyright © 2011-2022 走看看