django里面文件上传处理处理

最近,写一个上次文件的django。死活传不过去。

在大神的帮助下面,最终还是成。 不过也发现一个问题:

django 官网文档:https://docs.djangoproject.com/en/1.8/topics/http/file-uploads/

表单定义

class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50)
    file = forms.FileField()

表单对象生成.

form = UploadFileForm(request.POST, request.FILES)

request.POST里面是除了request.FILES外其他的参数,这里比如title.

但是奇怪的是如果我UploadFileForm里面只有一个tile。这里写成form = UploadFileForm( request.FILES),就是会报错…………(悲催的我搞了好久没明白,第一个参数)

发现这个第一个参数是被用来判断布尔值的。难道是用来YY的?写成UploadFileForm( {},request.FILES)就没问题了。

顺便贴下保存方法:

def handle_upload_file(f):

"""save the file which is loaded """

print(‘in handle‘)

try:

path = UPLOADED_FILE_DIRS + time.strftime(‘/%Y/%m/%d/%H/%M/%S/‘)

print(path)

if not int(os.path.exists(path)):

os.makedirs(path)

path_file_name = path+f.name

print(path_file_name)

destination = open(path_file_name, "wb+")

for chuck in f.chunks():

destination.write(chuck)

destination.close()

except Exception as e:

print(e)

return path_file_name

html中设置enctype="multipart/form-data"

时间: 2024-10-02 02:11:12

django里面文件上传处理处理的相关文章

python Django之文件上传

python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=========================================FORM表单上传文件======================================== def f1(request): #定义f1上传函数 if request.method=='GET': #如果是以GET请求 return render(request,'f1.htm

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

一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^f1/', views.f1), url(r'^f2/

django的文件上传&JsonResponse的使用&数据库的连接

1 request对象 method:请求方式 GET:get请求的参数(post请求,也可以携带参数) POST:post请求的参数(本质是从bdoy中取出来,放到里面了) COOKIES: META:字典(放着好多东西,前端传过来的,一定能从其中拿出来) body:post提交的数据 path:请求的路径,不带参数 request.get_full_path() 请求路径,带参数 session: user: FILES encoding:编码格式 is_ajax(): 2 HttpResp

十、Django的文件上传

一.上传文件相关 请求头ContentType ContentType指的是请求体的编码类型,常见的类型共有3种: application/x-www-form-urlencoded 最常见的 POST 提交数据的方式了 浏览器的原生 form 表单,如果不设置?enctype?属性,那么最终就会以 默认格式application/x-www-form-urlencoded 方式提交数据,ajax默认也是这个 urlencoded是一种数据格式, 比如: username=yang&passwo

Django普通文件上传

前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="/static/jquery-3.2.1.min.js"></script> <script src="/static/jquery

Django处理文件上传File Uploads

HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data <form enctype="multipart/form-data" method="post" action="/foo/"> <input type="file" name="image" /> request.FILES中的键

django 的文件上传

template html(模板文件): <form enctype="multipart/form-data" method="POST" action="/address/upload/"> <input type="file" name="file" /> <br /> <input type="submit" value="上传

django 实现文件上传

创建项目与应用     django-admin.py startproject mysite cd mysite python manage.py startapp app01 打开mysite/mysite/settings.py文件,将app01应用添加进去: INSTALLED_APPS = [     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'dj

django实现文件上传(最简单的方法)

html页面代码: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </head> <body>     <form enctype="multipart/form-data" action="/app