python-Django-文件上傳(三)
2023-04-24 10:13:51 來(lái)源:騰訊云


(資料圖)

文件上傳示例

下面是一個(gè)簡(jiǎn)單的文件上傳示例,其中包含了一個(gè)表單和一個(gè)視圖函數(shù)。用戶可以通過(guò)表單上傳文件,并將文件保存到服務(wù)器上。為了簡(jiǎn)單起見(jiàn),這個(gè)示例只處理單個(gè)文件上傳。

forms.py中定義一個(gè)表單類:

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

views.py中編寫視圖函數(shù)來(lái)處理文件上傳:

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中,使用表單來(lái)渲染文件上傳表單:

{% 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 %}

這是一個(gè)基本的文件上傳示例,它通過(guò)使用 Django 表單和視圖函數(shù)來(lái)處理上傳的文件并渲染模板。請(qǐng)注意,為了使文件上傳正常工作,必須使用 enctype="multipart/form-data"屬性將表單的編碼類型設(shè)置為 multipart/form-data。

關(guān)鍵詞:

相關(guān)閱讀
分享到:
版權(quán)和免責(zé)申明

凡注有"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"或電頭為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的稿件,均為實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來(lái)源為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活",并保留"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的電頭。