【资料图】
下面是一个简单的文件上传示例,其中包含了一个表单和一个视图函数。用户可以通过表单上传文件,并将文件保存到服务器上。为了简单起见,这个示例只处理单个文件上传。
在 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
{% 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
。
关键词:
中新网6月13日电 据北京地铁公司官方微博消息,针对6月11日官方和媒体通报的北京新增确诊病例行程轨迹涉及北京地铁1号线八通线、2号线
中新网6月13日电 中国地震台网正式测定:6月13日14时19分在西藏阿里地区改则县(北纬34 26度,东经85 37度)发生3 8级地震,震源深度10千米。
中新网拉萨6月13日电 (谢牧)反映拉萨乃至西藏自治区重要非物质文化遗产传承与保护的纪录片《发现拉萨》近日在尼泊尔电视台与尼泊尔人