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(十七)文件上传的更多相关文章

  1. python Django之文件上传

    python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...

  2. day56:django:csrf_token&文件上传

    目录 1.csrf介绍 2.django实现csrf_token认证 3.django实现文件上传 csrf介绍 什么是csrf? csrf:跨站请求伪造.攻击者通过HTTP请求将数据传送到服务器,从 ...

  3. 框架----Django之文件上传

    一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls im ...

  4. Django的文件上传以及预览、存储

    思路: 文件上传通过前端的input标签,input设置display:none属性. 内容显示需要让前端通过<img>标签读取图片内容,可以通过<label>标签连接< ...

  5. Django实现文件上传功能

    文件上传 关注公众号"轻松学编程"了解更多. 1.创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置,MEDIA_ROOT=o ...

  6. Django普通文件上传

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. django 的文件上传

    template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...

  8. Django处理文件上传File Uploads

    HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data <form enctype="m ...

  9. Django之文件上传

    一.form表单上传文件 注意: 1.form上需要加enctype="multipart/form-data" 2.form提交的地址需要以/结尾 def form_file(r ...

随机推荐

  1. Appscanner实验还原code3

    # Author: Baozi #-*- codeing:utf-8 -*- import _pickle as pickle from sklearn import ensemble import ...

  2. 安装splash

    参考: https://blog.csdn.net/qq_41020281/article/details/82599075

  3. python爬虫之scrapy文件下载

    我们在写普通脚本的时候,从一个网站拿到一个文件的下载url,然后下载,直接将数据写入文件或者保存下来,但是这个需要我们自己一点一点的写出来,而且反复利用率并不高,为了不重复造轮子,scrapy提供很流 ...

  4. DAY02、正式介绍python

    一.编程语言介绍(***) 1.1.机器语言:直接用计算机能理解的二进制指令编写程序,直接控制硬件 1.2.汇编语言:用英文标签取代二进制指令编写程序,本质也是直接控制硬件 1.3.高级语言:用人类能 ...

  5. python数学第九天【统计】

  6. 一、VS2017支持Github

    选择 工具-->扩展和更新,搜索GitHub,安装GitHub的VS插件 安装完插件,打开视图-->团队资源管理器,我们可以看到Git插件菜单.通过菜单我们可以新建Git存储库,可以提交修 ...

  7. 安装使用nginx

    nginx的优势 是c语言开发的一个web框架 官方声称支持10W+的并发 天下武功 唯快不破 tengine+ uwsgi(多进程) + django 你公司的技术栈是什么样? centos7 + ...

  8. centos6 nginx 安装【转】

    原文 https://www.cnblogs.com/yaoximing/p/6068622.html 1.下载nginx 方法一 wget http://nginx.org/download/ngi ...

  9. 【CF472G】Design Tutorial 压位

    题目大意 给出两个\(01\)序列\(A\)和\(B\) 汉明距离定义为两个长度相同的序列中,有多少个对应位置上的数字不一样 \(00111\) 和 \(10101\)的距离为\(2\) \(Q\)次 ...

  10. css标准文档流

    css标准文档流 所谓的标准文档流指的是网页当中的一个渲染顺序,就如同人类读书一样,从上向下,从左向右.网页的渲染顺序也是如此.而我们使用的标签默认都是存在于标准文档流当中. 标准文档流当中的特性 空 ...