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})
這里實現的是將文件上傳並存取數據庫,沒有涉及文件表格的詳細內容
