实现简单的django上传文件
本文用django实现上传文件并保存到指定路径下,没有使用forms和models,步骤如下:
1、在模板中使用form表单,因为这个表单使用于上传文件的,所以method属性必须设置为post,而且enctype必须设置为"multipart/form-data",这个表明不对字符进行编码,代码如下:
<form enctype="multipart/form-data" action="/upLoadFile/" method="post">
<input type="filename" name="ufile" />
<br/>
<input type="submit" value="上传"/>
</form>
2、设置urls.py文件,在点击上传按钮时,指定实现上传功能的视图函数,代码如下:
url(r'^upLoadFile/$', upload_file, name='upload_file'),
3、实现视图函数,虽然文件是通过post方式上传的,但文件并不存在request.POST中,而是存放在request.FILES中,所以使用request.FILES["ufile"]或request.FILES.get("ufile", "")来获取上传文件,代码如下:
def upload_file(request):
if not request.method == "POST":
return HttpResponse("请使用POST提交!")
else:
my_file = request.FILES.get("upload_file", None) # 获取上传的文件,如果没有文件,则默认为None
if not my_file:
return HttpResponse("No files for upload!")
else:
destination = open(os.path.join("/data/upload", my_file.name), 'wb+') # 打开特定的文件进行二进制的写操作
for chunk in my_file.chunks(): # 分块写入文件
destination.write(chunk)
destination.close()
return HttpResponse("上传成功!")
4、测试,点击选择上传文件,点击上传,页面显示"上传成功",在/data/upload目录下面找到上传的文件,至此,最简单的用django上传文件就完成了。
实现简单的django上传文件的更多相关文章
- (转)django上传文件
本文转自:http://www.cnblogs.com/linjiqin/p/3731751.html 另: 本文对原文做了适当修改 更为详细的介绍可以参考官方文档. emplate html(模板 ...
- django上传文件
template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...
- $Django ajax简介 ajax简单数据交互,上传文件(form-data格式数据),Json数据格式交互
一.ajax 1 什么是ajax:异步的JavaScript和xml,跟后台交互,都用json 2 ajax干啥用的?前后端做数据交互: 3 之前学的跟后台做交互的方式: -第一种:在浏览器 ...
- 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 ...
随机推荐
- C#去除byte数组头尾杂质(即不需要的数据)
代码如下: /// <summary> /// 去除byte数组头尾杂质(即不需要的数据) /// </summary> /// <param name="ar ...
- python模块基础之getpass模块
getpass模块提供了可移植的密码输入,一共包括下面两个函数: 1. getpass.getpass() 2. getpass.getuser() getpass.getpass([prompt[, ...
- jsp DAO设计模式
DAO(Data Access Objects)设计模式是属于J2EE体系架构中的数据层的操作. 一.为什么要用DAO? 比较在JSP页面中使用JDBC来连接数据库,这样导致了JSP页面中包含了大量的 ...
- AngularJs练习Demo18 Resource
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- linux局域网不能相互访问
1.关闭防火墙 /etc/init.d/iptable stop 2.关闭selinux 1.临时禁用SELinux: root@server# setenforce 0 这样重启服务器之后 ...
- Swift缩水版MJExtension - Reflect的基本使用
github:https://github.com/CharlinFeng/Reflect 直接拖拽Reflect文件夹到您的项目中即可,无任何第三方依赖!文件夹结构说明:.Coding 归档相关.R ...
- JQ简单图片轮播
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 成员函数的const不能被修改,包括指针
#include <iostream> class A { private: std::string a; public: A(std::string b) :a(b){} const c ...
- JavaScript实现鼠标拖拽围绕圆心转动
鼠标拖动时旋转(多个节点以同一点旋转) 鼠标拖动时旋转 音量旋钮 圆盘菜单
- 使用pcs api往免费的百度网盘上传下载文件
百度个人云盘空间大,完全免费,而且提供了pcs api供调用操作文件,在平时的项目里往里面保存一些文件是很实用的. 环境准备: 开通读写网盘的权限及获取access_token:http://blog ...