Django--上传文件
需求
Django中forms表单上传文件处理
速查
views.py
1
2
3
4
5
6
7
8
9
def
upload(request):
if
request.method
=
=
'POST'
:
inp_files
=
request.FILES
file_obj1
=
inp_files.get(
'f1'
)
f
=
open
(file_obj1.name,
'wb'
)
for
line
in
file_obj1.chunks():
f.write(line)
f.close()
return
render(request,
'home/upload.html'
)
知识点
- 上传文件是必须加上:enctype="multipart/form-data",代表分片传输。
- request.FILES是上传的文件,获取某个文件,是get那个name属性名。
- obj.name获取文件名,obj.size获取文件大小。
- obj.chunks()是上传文件的所有分片集合,循环每一个分片,write写入文件。
详细
templates/home/upload.html
1
2
3
4
5
6
<
form
action
=
"/upload/"
method
=
"POST"
enctype
=
"multipart/form-data"
>
<
p
><
input
type
=
"file"
name
=
"f1"
/> </
p
>
<
p
><
input
type
=
"file"
name
=
"f2"
/> </
p
>
<
p
><
input
type
=
"text"
name
=
"name"
/> </
p
>
<
input
type
=
"submit"
value
=
"Upload"
/>
</
form
>
app01/urls.py
1
2
3
4
from
app01.views
import
home
urlpatterns
=
[
url(r
'^upload/'
, home.upload),
]
app01/views/home.py
1
2
3
4
5
6
7
8
9
def
upload(request):
if
request.method
=
=
'POST'
:
inp_files
=
request.FILES
file_obj1
=
inp_files.get(
'f1'
)
f
=
open
(file_obj1.name,
'wb'
)
for
line
in
file_obj1.chunks():
f.write(line)
f.close()
return
render(request,
'home/upload.html'
)
browser
1
2
3
4
5
6
7
8
9
|
def upload(request): if request.method = = 'POST' : inp_files = request.FILES file_obj1 = inp_files.get( 'f1' ) f = open (file_obj1.name, 'wb' ) for line in file_obj1.chunks(): f.write(line) f.close() return render(request, 'home/upload.html' ) |
- 上传文件是必须加上:enctype="multipart/form-data",代表分片传输。
- request.FILES是上传的文件,获取某个文件,是get那个name属性名。
- obj.name获取文件名,obj.size获取文件大小。
- obj.chunks()是上传文件的所有分片集合,循环每一个分片,write写入文件。
详细
templates/home/upload.html
1
2
3
4
5
6
<
form
action
=
"/upload/"
method
=
"POST"
enctype
=
"multipart/form-data"
>
<
p
><
input
type
=
"file"
name
=
"f1"
/> </
p
>
<
p
><
input
type
=
"file"
name
=
"f2"
/> </
p
>
<
p
><
input
type
=
"text"
name
=
"name"
/> </
p
>
<
input
type
=
"submit"
value
=
"Upload"
/>
</
form
>
app01/urls.py
1
2
3
4
from
app01.views
import
home
urlpatterns
=
[
url(r
'^upload/'
, home.upload),
]
app01/views/home.py
1
2
3
4
5
6
7
8
9
def
upload(request):
if
request.method
=
=
'POST'
:
inp_files
=
request.FILES
file_obj1
=
inp_files.get(
'f1'
)
f
=
open
(file_obj1.name,
'wb'
)
for
line
in
file_obj1.chunks():
f.write(line)
f.close()
return
render(request,
'home/upload.html'
)
browser
1
2
3
4
5
6
|
< form action = "/upload/" method = "POST" enctype = "multipart/form-data" > < p >< input type = "file" name = "f1" /> </ p > < p >< input type = "file" name = "f2" /> </ p > < p >< input type = "text" name = "name" /> </ p > < input type = "submit" value = "Upload" /> </ form > |
1
2
3
4
|
from app01.views import home urlpatterns = [ url(r '^upload/' , home.upload), ] |
1
2
3
4
5
6
7
8
9
|
def upload(request): if request.method = = 'POST' : inp_files = request.FILES file_obj1 = inp_files.get( 'f1' ) f = open (file_obj1.name, 'wb' ) for line in file_obj1.chunks(): f.write(line) f.close() return render(request, 'home/upload.html' ) |
传输的位置如果没指定,默认是项目的 “/”根目录。
Django--上传文件的更多相关文章
- (转)django上传文件
本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html 另: 本文对原文做了适当修改 更为详细的介绍可以参考官方文档. emplate html(模板 ...
- django上传文件
template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...
- 实现简单的django上传文件
本文用django实现上传文件并保存到指定路径下,没有使用forms和models,步骤如下: 1.在模板中使用form表单,因为这个表单使用于上传文件的,所以method属性必须设置为post,而且 ...
- Django上传文件和上传图片(不刷新页面)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django上传文件的那些参数
# ################## 默认文件上传配置 ######################## from django.core.files.uploadhandler import M ...
- 20-1 django上传文件和项目里上传头像如何查看
一 普通上传方式 1 views def upload(request): if request.method == "POST": # print(request.POST) # ...
- Django上传文件的两种方式
基于form表单上传文件 HTML <h3>基于form表单的上传文件</h3> <form action="" method="post& ...
- 【python】django上传文件
参考:https://blog.csdn.net/zahuopuboss/article/details/54891917 参考:https://blog.csdn.net/zzg_550413470 ...
- Python - Django - 上传文件
upload.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- django 上传文件及反馈信息
from django.shortcuts import render,HttpResponse from django.views import View from Fiskars.models i ...
随机推荐
- Bitmap和Drawable相互转换方法
很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换.下面给大家两种比较简单高效的方法. 一.Bitmap转Drawable Bitmap bm=xxx; //xxx根 ...
- 移动APP接口遇到的一些小问题
一:IIS设置站点后无法访问apk文件 首先要给IIS服务器根目录添加MIME类型影射文件扩展名:apkMIME类型 :application/vnd.android.package-archive ...
- ASP lable标签显示过长,自动换行。
<asp:Label ID="lab_BeforPostR" runat="server" CssClass="labSty" Wid ...
- Git忽略配置文件gitignore
在git客户端用户工程根目录下,.git同级目录创建文件.gitignore,文件名为.gitignore.目的是为了忽略一些不需要提交的文件到git服务器 配置如下: bin target .set ...
- ATT 解锁手机
最近豪们都在忙着买买买950 本土鳖左瞅瞅右看看实在钱包不够豪 正好看到美帝640打折39刀 (http://www.microsoftstore.com/store/msusa/en_US/pdp/ ...
- 菜鸟教程之工具使用(十一)——Eclipse去掉未使用的引用
大家在写代码的时候经常会看到如下的情况: 大家都知道这是因为引入了未使用的包,所以Eclipse给出了提示,告诉你这些是无用的引用,这些无用的引用即影响了美观,又增加了代码占用的空间,还给代码的编译增 ...
- SymmetricDS 数据库双向同步开源软件入门
一句话概括该软件:SymmetricDS是一个文件和数据库同步软件,开源的,支持多主复制,同步时过滤和在异构的网络环境中进行数据转换传输.它支持单向和双向上的多个订阅者,异步的数据复制. 以下是从CS ...
- 同步与异步&阻塞与非阻塞
摘要 一直为同步异步,阻塞非阻塞概念所困扰,特定总结了下,原来是这么个意思 一直为同步异步,阻塞非阻塞概念所困扰,特定总结了下 一.同步与异步的区别 1.概念介绍 同步:所谓同步是一个服务的完成需要依 ...
- JQuery 表格拖动调整列宽效果
类似于桌面程序中的表格拖动表头的效果,当鼠标停留在表头边框线上时,鼠标会变成表示左右拖动的形状,接着拖动鼠标,会在表格中出现一条随鼠标移动的竖线,最后放开鼠标,表格列宽会被调整.最近比较空闲,便自己动 ...
- CSS基础(二):基础和语法
CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration2; . ...