django基础(三)之视图及文件上传和多选等操作
views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
import os
USRE_LIST = []
def home(request):
if request.method == 'POST':
uname = request.POST.get('username')
email = request.POST.get('email')
gender = request.POST.get('gender')
user_dic = {'u':uname,'e':email,'gender':gender}
USRE_LIST.append(user_dic)
return render(request,'home.html',{'user_list':USRE_LIST})
def login(request):
if request.method == "GET":
return render(request,'login.html')
elif request.method == "POST":
#获取选择的值
# v = request.POST.getlist('upload') ###此处的upload为login.html里文件上传标签的属性值
# print (v) ###传一个图片,默认情况下获得的为图片的名称
#获取上传的文件到指定目录(文件上传操作)
file = request.FILES.get('upload') ###获取图片的值
file_path = os.path.join('upload',file.name)
f = open(file_path,mode='wb') #获取上传的文件
for i in file.chunks():
f.write(i)
f.close()
#from django.core.files.uploadedfile import InMemoryUploadedFile
return render(request, 'login.html')
else:
return redirect(request,'/login')
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="/static/common.css">
<style>
label{
width: 100px;
display: inline-block;
text-align: center;
}
</style>
</head>
<body>
<form action="/login" method="post" enctype="multipart/form-data">
<p>
<label for="username">用户名:</label>
<input id="username" name="user" type="text"/>
</p>
<p>
<label for="password">密码:</label>
<input id="password" name="password" type="password"/>
</p>
<p>
男:<input type="radio" value="man" name="gender" />
女:<input type="radio" value="women" name="gender" />
</p>
<p>
男:<input type="checkbox" value="man" name="favor"/>
女:<input type="checkbox" value="women" name="favor"/>
</p>
<p>
<select name="city" multiple> <!-- multiple 代表多选 -->
<option value="bj">北京</option>
<option value="tj">天津</option>
<option value="sh">上海</option>
</select>
</p>
<p>
<input type="file" name="upload"/> <!--文件上传操作-->
</p>
<p>
<input type="submit" value="提交"/>
<span style="color: red">{{ error_msg }}</span>
</p>
</form>
<script src="/static/jquery-3.2.1.js"></script>
</body>
</html>
获取多个值操作

文件上传操作

多选操作


浙公网安备 33010602011771号