python-Django-文件上传(三) 最新资讯

2023-04-24 10:19:07 腾讯云


(资料图片仅供参考)

文件上传示例

下面是一个简单的文件上传示例,其中包含了一个表单和一个视图函数。用户可以通过表单上传文件,并将文件保存到服务器上。为了简单起见,这个示例只处理单个文件上传。

forms.py中定义一个表单类:

from django import formsclass FileUploadForm(forms.Form):    file = forms.FileField()

views.py中编写视图函数来处理文件上传:

from django.shortcuts import renderfrom .forms import FileUploadFormdef file_upload(request):    if request.method == "POST":        form = FileUploadForm(request.POST, request.FILES)        if form.is_valid():            file = form.cleaned_data["file"]            # 处理上传的文件            return render(request, "success.html", {"file_name": file.name})    else:        form = FileUploadForm()    return render(request, "file_upload.html", {"form": form})

在模板文件 file_upload.html中,使用表单来渲染文件上传表单:

{% extends "base.html" %}{% block content %}  

File Upload

{% csrf_token %} {{ form.as_p }}
{% endblock %}

在模板文件 success.html中,显示上传成功的消息和文件名:

{% extends "base.html" %}{% block content %}  

Upload Successful

The file "{{ file_name }}" was uploaded successfully.

{% endblock %}

这是一个基本的文件上传示例,它通过使用 Django 表单和视图函数来处理上传的文件并渲染模板。请注意,为了使文件上传正常工作,必须使用 enctype="multipart/form-data"属性将表单的编码类型设置为 multipart/form-data