欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

使用Django怎么實現(xiàn)文件上傳下載功能-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)使用Django怎么實現(xiàn)文件上傳下載功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)主營烏爾禾網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,烏爾禾h5小程序制作搭建,烏爾禾網(wǎng)站營銷推廣歡迎烏爾禾等地區(qū)企業(yè)咨詢

創(chuàng)建項目:

django-admin startproject file_upload
cd file_upload
python manage.py startapp uploader

目錄結(jié)構(gòu):

使用Django怎么實現(xiàn)文件上傳下載功能

0.settings.py

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

1.urls.py

父:

from django.contrib import admin
from django.urls import path, include
 
urlpatterns = [
 path('admin/', admin.site.urls),
 path('uploader/', include('uploader.urls'))
]

子:

from django.contrib import admin
from django.urls import path, include
from . import views
 
app_name = 'uploader'
 
urlpatterns = [
 path('', views.upload, name='upload'), # 上傳
 path('list/', views.list), # 列表
 path('download/<id>', views.download, name='download'), # 下載
 path('delete/<id>', views.delete, name='delete'), # 刪除
]

2.models.py

from django.db import models
from django.utils import timezone
 
'''
文件記錄
'''
class FileInfo(models.Model):
 file_name = models.CharField(max_length=500)
 file_size = models.DecimalField(max_digits=10, decimal_places=0)
 file_path = models.CharField(max_length=500)
 upload_time = models.DateTimeField(default=timezone.now())

3.forms.py

from django import forms
 
'''
上傳表單
'''
class UploadForm(forms.Form):
 file = forms.FileField(
 widget=forms.ClearableFileInput(attrs={'multiple': True}), # 支持多文件上傳
 label='選擇文件...',
 help_text='大100M'
 )

4.views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.http import HttpResponseRedirect
from django.http import FileResponse
from django.template import RequestContext
from django.urls import reverse
from django.utils.http import urlquote
 
from .models import FileInfo
from .forms import UploadForm
import os
 
 
# 上傳文件
def upload(request):
 # Handle file upload
 if request.method == 'POST':
 form = UploadForm(request.POST, request.FILES)
 if form.is_valid():
  files = request.FILES.getlist('file')
  for f in files:
  file_info = FileInfo(file_name=f.name, file_size=1 if 0 < f.size < 1024 else f.size / 1024, file_path=os.path.join('D:\\upload', f.name))
  file_info.save()
  # 上傳
  destination = open(os.path.join("D:\\upload", f.name), 'wb+')
  for chunk in f.chunks():
   destination.write(chunk)
  destination.close()
 
  # 返回上傳頁
  return HttpResponseRedirect('/uploader/list')
 else:
 form = UploadForm() # A empty, unbound form
 return render(request, 'uploader/upload.html', {'form': form})
 
 
# 文件列表
def list(request):
 file_infos = FileInfo.objects.all()
 
 return render(request, 'uploader/list.html', {'file_infos': file_infos})
 
 
# 下載文件
def download(request, id):
 file_info = FileInfo.objects.get(id=id)
 print('下載的文件名:' + file_info.file_name)
 file = open(file_info.file_path, 'rb')
 response = FileResponse(file)
 response['Content-Disposition'] = 'attachment;filename="%s"' % urlquote(file_info.file_name)
 return response
 
 
# 刪除文件
def delete(request, id):
 file_info = FileInfo.objects.get(id=id)
 file_info.delete()
 file_infos = FileInfo.objects.all()
 
 return HttpResponseRedirect('/uploader/list')

關(guān)于使用Django怎么實現(xiàn)文件上傳下載功能就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章題目:使用Django怎么實現(xiàn)文件上傳下載功能-創(chuàng)新互聯(lián)
文章出自:http://aaarwkj.com/article34/ppjse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、移動網(wǎng)站建設(shè)、App開發(fā)、定制開發(fā)、網(wǎng)站策劃、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
国产一级二级三级在线电影| 91九色视频官网在线观看| 国产精品一区二区高潮| 日本视频免费一区二区| 国产国产成人精品久久| 中文精品字幕人妻熟女小妇| 一区二区亚洲国产精品| 亚洲午夜一区二区精品| 91精品一区二区三区91人妻| 日韩欧美国产精品福利| 国产欧美日韩亚洲精品区| 亚洲av成人在线不卡| 日韩av在线国产观看| 观看女性真实高潮的合集| 亚洲精品另类中文字幕| 成人免费视频一区二区三区| 国产剧情av色诱女教师| 久久精品国产亚洲av清纯| 亚洲日本va午夜中文字幕一区| 黄色录像日本黄色录像| 亚洲乱码国产乱码精品| 国产精品99久久久久久宅男九| 国产午夜在线观看免费视频| 成人黄色动作片在线观看| 成人午夜激情在线免费观看| 日本av高清视频在线观看| 日韩x级av免费在线观看| 黑人巨大精品欧美一区免| 亚洲精品免费福利视频| 夫妻性生活视频全过程| 日本道二区视频中文字幕| 欧美日韩伦理片在线观看| 人人人妻人人澡人人爽e| 国产又粗又长又爽网站| 日本岛国大片一区二区在线观看| 亚洲一区二区三区视频在线观看| 日本国产一区二区三区在线观看| 麻豆视频传媒入口在线播放| 四虎成人免费永久视频| 欧美日韩一区二区综合在线视频| 校园春色亚洲一区二区|