kindEditor文本编辑框的使用 图片在此的上传 >>点我
需要注意的点:
1.不能在函数内部引用数据用from my_stlye import * 这样会有问题出现
2
在用ajax来验证用户名密码是否正确,正确就转到响应页面的情况下
form表单中不能用
<input type="submit" >
submit 按钮 默认有提交功能,所以不能用他 14:30
要用
<input type="button" >
{# labe标签中的for='id_avatar' 对应着下边input的 id='id_avatar'#} {# 这样可以实现点击label 标签中的内容而触发input 标签被选中 #} <label for="id_avatar">{{ user_info.avatar.label }} <img id="avatar_img" height="70" width="70" src="/static/imgs/tou.jpg" alt=""> </label> {# 可以直接在这儿引入静态文件 图片是放到了static文件夹中, 隐藏 点击上边的label 中的内容触发这个标签中的事件#} <input type="file" style="display: none" id="id_avatar" >
动态显示刚刚上传的图片
$('#id_avatar').change(function () {
{# 获取用户上传的文件的信息,这里面包含 下面这些信息#}
{# File(21947) {name: "QQ截图20180202200130.png", #}
{# lastModified: 1517572893146, lastModifiedDate:#}
{# Fri Feb 02 2018 20:01:33 GMT+0800 (中国标准时间), webkitRelativePath: "", size: 21947, …}#}
var choose_file = $(this)[0].files[0];
{# 实例化一个阅读器对象 #}
var reader = new FileReader();
{# 调用阅读器对象的方法,将刚刚上穿的文件地址读出来 注意他没有返回值#}
reader.readAsDataURL(choose_file);
{# 阅读器在读这个地址的过程需要一段时间 可能没有读完,#}
{# 下边的内容就已经开始了#}
{# reader.onload这个是等他读完后才进行下边的过程#}
reader.onload = function () {
{# this 就是指绑定这个事件的 当前的reader对象#}
$('#avatar_img').attr('src',this.result);
{# 给图片位置附上一个新的地址的值 让新上传的图片地址替换默认图片的地址#}
{# 显示出当前的 图片地址 this.result 就相当于在执行 reader.result 取出 URL的值#}
}
});
需要上传文件,这里要设置 enctype='multipart/form-data'的这种格式
文件上传
基于form表单
HTML中的写法
view代码
def test(request): if request.method=='POST': # print(request.POST) print(request.FILES.get('f')) # 获取文件 f obj=request.FILES.get('f') obj_name=obj.name#拿到传过来的文件的名字 # 将文件以拿到的文件的名字为名字写入 print( '这是文件的名字>>>',obj_name) f_write=open(obj_name,'wb') for line in obj: f_write.write(line) return HttpResponse('ok') return render(request,'test.html')