Django文件下载实例

2025-11-18 13:00:04

1、打开命令行,创建django工程,并在工程内创建应用,命令如下:

django-admin startproject djfiledw

cd djfiledw

python manage.py startapp myfile

Django文件下载实例

2、使用PyCharm打开工程,在工程根目录的djfiledw的settings.py文件,添加应用,添加模板文件路径。修改部分的settings.py文件内容如下:

INSTALLED_APPS = [


   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'myfile.apps.MyfileConfig',
]
TEMPLATES = [
   {
       'BACKEND': 'django.template.backends.django.DjangoTemplates',
       'DIRS': [os.path.join('templates')],
       'APP_DIRS': True,
       'OPTIONS': {
           'context_processors': [
               'django.template.context_processors.debug',
               'django.template.context_processors.request',
               'django.contrib.auth.context_processors.auth',
               'django.contrib.messages.context_processors.messages',
           ],
       },
   },
]

Django文件下载实例

3、在工程根目录创建templates文件夹,在文件夹内创建‘download.html’文件,内容如下:

<!DOCTYPE html>


<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>download</title>
</head>
<body>
   <div>
       <a href="/down/">点我进行下载</a>
   </div>
</body>
</html>

在templates文件夹下放一张图片用来下载测试

Django文件下载实例

4、在工程目录的djfiledw文件夹的urls.py包含应用的路由,urls.py文件内容如下:

from django.conf.urls import url,include


from django.contrib import admin


urlpatterns = [
   url(r'^admin/', admin.site.urls),
   url(r'',include('myfile.urls')),
]

Django文件下载实例

5、在应用文件夹新建‘urls.py’文件,并添加如下代码,指向两个路由,一个用来显示页面,一个用来响应下载请求。

from django.conf.urls import url


from . import views


urlpatterns = [
   url(r'download/',views.download),
   url(r'down/',views.down),
]

Django文件下载实例

6、在应用的views.py文件,增加两个视图函数,Chrysanthemum.jpg是在

templates文件夹下的图片文件,完整代码如下:

from django.shortcuts import render


from django.http import FileResponse


# Create your views here.
def download(request):
   return render(request,'download.html')
def down(request):
   file = open('templates/Chrysanthemum.jpg', 'rb')
   response = FileResponse(file)
   response['Content-Type'] = 'application/octet-stream'
   response['Content-Disposition'] = 'attachment;filename="Chrysanthemum.jpg"'
   return response

Django文件下载实例

7、运行django服务器

python manage.py runserver

在浏览器打开下载网址测试如下图,这样就成功下载了文件

Django文件下载实例

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢