上传图像或选择图像是Web应用中常见的功能,允许用户通过网页界面上传或选择本地图像文件。在Django框架中,这一功能通常涉及前端HTML表单和后端Django视图的处理。
<!-- templates/upload_image.html -->
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="image" accept="image/*">
<button type="submit">上传</button>
</form>
# views.py
from django.shortcuts import render, redirect
from django.core.files.storage import FileSystemStorage
def upload_image(request):
if request.method == 'POST' and request.FILES['image']:
image = request.FILES['image']
fs = FileSystemStorage()
filename = fs.save(image.name, image)
uploaded_file_url = fs.url(filename)
# 处理上传后的逻辑,例如保存到数据库
return render(request, 'upload_success.html', {'file_url': uploaded_file_url})
return render(request, 'upload_image.html')
# urls.py
from django.urls import path
from .views import upload_image
urlpatterns = [
path('upload/', upload_image, name='upload_image'),
]
settings.py
中的DATA_UPLOAD_MAX_MEMORY_SIZE
和FILE_UPLOAD_MAX_MEMORY_SIZE
来调整。settings.py
中的DATA_UPLOAD_MAX_MEMORY_SIZE
和FILE_UPLOAD_MAX_MEMORY_SIZE
来调整。FileExtensionValidator
或其他第三方库进行验证。FileExtensionValidator
或其他第三方库进行验证。领取专属 10元无门槛券
手把手带您无忧上云