Django 定义视图函数
Django 定义视图函数
一、接收内容及文件处理
1、接收分类
# 获取数据 request.GET # 提交数据 request.POST # 获取文件 request.FILES
2、checkbox等多选项内容
request.POST.getlist()
3、上传文件
obj = request.FILES.get('fafafa') obj.name f = pen(obj.name,mode='web') for item in obj.chunks(): f.write(item) f.close()
4、获取多个值
# getlist 获取多个value值,已列表格式输出 v = request.POST.getlist('favor')
5、获取上传文件值
# 上传文件时form表单内需要添加 enctype="multipart/form-data" <form action="/login/" method="post" enctype="multipart/form-data">
# 默认只能拿到文件名 v = request.POST.get('fafafa')
6、对文件处理
import os # 获取文件对象v等于文件名,类型则是文件类型 v = request.FILES.get('fafafa') # 获取同级的upload资源目录 file_path = os.path.join('upload',v.name) # 打开文件,创建一个文件已上传文件名生成 f = open(file_path,mode="wb") # chunks表示所有的块 for i in v.chunks(): # 写入文件 f.write(i) # 关闭文件 f.close()
二、返回数据
1、视图函数主要在Django项目内app下的 views.py 文件内定义:
# 调用模块方法 from django.shortcuts import render,HttpResponse,redirect def func() # 包含所有的请求数据 .... # 返回字符串内容 return HttpRespon('字符串') # 返回数据 render(request,'模板路径') 返回html模板内容 return render(request,'index.html') # 返回数据 render(request,'模板路径',{'传入特殊数据利用模板渲染'}) 返回html模板内容 render(request,'index.html',{''}) # 返回数据填写指定URL retrun redirect('URL')