Django(十七)文件上传
http://www.cnblogs.com/wupeiqi/articles/5703697.html
- 文件上传
- 普通上传
- 自定义页面上传按钮
- 基于Form做上传
- Ajax上传文件?????
一,上传文件
from django.shortcuts import render,redirect, HttpResponse # Create your views here. def update(request):
if request.method == 'GET':
return render(request, 'update.html')
else:
username = request.POST.get('username')
img = request.FILES.get('img')
print(img)
print(username)
file_name = img.name
file_size = img.size
print(file_name, file_size)
f = open(img.name, 'wb')
for line in img.chunks():
f.write(line)
f.close() return HttpResponse("ok")
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form action="/update/" method="post" enctype="multipart/form-data">
{% csrf_token %} <input type="text" name="username">
<div style="position: relative">
<a href="">上传</a>
<input type="file" name="img" style="opacity:0; position: absolute;left: 0;top: 0;">
</div> <input type="submit" value="提交" />
</form> </body>
</html>
基于Form上传
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form action="/update/" method="post" enctype="multipart/form-data">
{% csrf_token %} {{ obj.user }}
{{ obj.img }} <input type="submit" value="提交" />
</form> </body>
</html>
from django.shortcuts import render,redirect, HttpResponse # Create your views here.
from django import forms
from django.forms import fields
class Upload(forms.Form):
user = fields.CharField()
img = fields.FileField() def update(request):
if request.method == 'GET':
obj = Upload()
return render(request, 'update.html',{'obj':obj})
else:
obj = Upload(request.POST, request.FILES)
if obj.is_valid():
username = obj.cleaned_data['user']
img = obj.cleaned_data['img']
print(img)
print(username)
file_name = img.name
file_size = img.size
print(file_name, file_size)
f = open(img.name, 'wb')
for line in img.chunks():
f.write(line)
f.close() return HttpResponse("ok")
Django(十七)文件上传的更多相关文章
- python Django之文件上传
python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...
- day56:django:csrf_token&文件上传
目录 1.csrf介绍 2.django实现csrf_token认证 3.django实现文件上传 csrf介绍 什么是csrf? csrf:跨站请求伪造.攻击者通过HTTP请求将数据传送到服务器,从 ...
- 框架----Django之文件上传
一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls im ...
- Django的文件上传以及预览、存储
思路: 文件上传通过前端的input标签,input设置display:none属性. 内容显示需要让前端通过<img>标签读取图片内容,可以通过<label>标签连接< ...
- Django实现文件上传功能
文件上传 关注公众号"轻松学编程"了解更多. 1.创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置,MEDIA_ROOT=o ...
- Django普通文件上传
前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- django 的文件上传
template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...
- Django处理文件上传File Uploads
HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data <form enctype="m ...
- Django之文件上传
一.form表单上传文件 注意: 1.form上需要加enctype="multipart/form-data" 2.form提交的地址需要以/结尾 def form_file(r ...
随机推荐
- websocket协议握手详解
最近使用tornado做长链接想着怎么着也要试试websocket协议吧.所以说干就干. 首先要知道websocket是基于http协议的,为什么这么说?因为从协议来说,websocket是借用了一部 ...
- 如何使用Action.Invoke()触发一个Storyboard
一般在我们的项目中,最好是将Storyboard放在前台,然后设置Storyboard的x:key值,通过我们的TryFindResource来查找到当前的Storyboard来启动Stroyboar ...
- placeholder解决兼容各种IE浏览器的方法
<input id="search" type="text" class="box" class="inputText&qu ...
- linux下更改MySQL数据库存储路径
参考地址:1.https://blog.csdn.net/ArnoBM/article/details/83008212 2.http://www.cnblogs.com/lyongde/p/3725 ...
- vue 子组件修改父组件传来的props值,报错
vue不推荐直接在子组件中修改父组件传来的props的值,会报错 [Vue warn]: Avoid mutating a prop directly since the value will be ...
- MySQL 5.7 关闭严格模式
If your app was written for older versions of MySQL and is not compatible with strict SQL mode in My ...
- 使用cmd命令行窗口操作SqlServer
本文主要介绍使用windows下的使用cmd命令行窗口操作Sqlserver, 首先我们可以运行 osql ?/ ,这样就把所有可以通过CMD命令行操作sqlserver的命令显示出来 (有图有 ...
- Mybatis常见问题总结
1.大于号.小于号在sql语句中的转换 使用mybatis 时sql语句是写在xml文件中,如果sql中有一些特殊的字符的话,比如< ,<=,>,>=等符号,会引起xml格式的 ...
- redis哨兵集群+spring boot 2.×
Ubuntu集群构建篇 redis-cli:不跟参数,默认访问localhost:6379端口,无密码登陆 redis-cli -h ${host} -p ${port} -a ${password} ...
- 第二十一天,pickle json xml shelve configparser模块
今日内容 1.pcikle 专用于python语言的序列化 2.json 是一种跨平台的数据格式 也属于序列化的一种方式 3.xml 可拓展标记语言 一种编写文档的语法 也支持跨平台 比较json而言 ...