(四)django上传文件并读取存入数据库
django上传文件并读取存入数据库
前台
<form method="post" action="/a_upload/" enctype="multipart/form-data">
{% csrf_token %}
<input type="hidden" name="fid" value="{{ file.f_id }}">
<input type="hidden" name="uid" value="{{ file.user_id }}">
<div class="form-group">
选择附件:<br>
<input type="file" name="myfiles" multiple=""> <br>
</div>
<button type="submit" class="btn btn-default"> 上传
<br>
</form>
数据库
a_file(id,name,fid)
这里做的是一个附件上传,fid表示主文件
view.py
def a_upload(request):
if request.method == "POST":
fid = request.POST.get("fid")
files = request.FILES.getlist("myfiles")
uid = request.POST.get("uid")
if files is None:
return HttpResponse("请选择需要上传的文件")
for f in files:
file = AFile()
file.name = f.name
file.f_id = fid
file.save()
d = open(os.path.join('static/media/yf_upload', f.name), 'wb+')
for chunk in f.chunks():
d.write(chunk)
d.close()
file_list = FileMain.objects.filter(insert_people=uid)
return render(request, "show_list.html",{'file_list':file_list})
这里实现的是将文件上传并存取数据库,没有涉及文件表格的详细内容