Я пытаюсь изменить размер (создать действительный эскиз) и переименовать файл, когда я загружаю его в виде в Django. Я видел библиотеку PIL и использую ее, но безрезультатно.
views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
from django.core.files.storage import FileSystemStorage
from django.urls import reverse
from PIL import Image
@login_required
def zoom(request):
uploaded_url = {}
if request.method == 'POST' and request.FILES.getlist('document', False):
myfiles = request.FILES.getlist('document')
for myfile in myfiles:
fs = FileSystemStorage()
filename = fs.save(myfile.name, myfile)
uploaded_file_url = fs.url(filename)
uploaded_url[filename] = uploaded_file_url
imagen = ((Image.open(myfile)).resize((191,176))).save("thumb.png")
return render(request, "visores/acercamiento.html", {
'uploaded_url' : uploaded_url,
})
acercamiento.html
<form enctype="multipart/form-data" method="post">
{% csrf_token %}
<h4>Búsqueda general</h4>
<input type="file" name="document" accept="image/*" id="b">
<button type="submit" id="subir">Subir imagen</button>
</form>
{% if uploaded_url %}
{% for name, url in uploaded_url.items %}
{% load static %}
<div id="bai">
<a class="magnifier-thumb-wrapper demo" href="{{ url }}">
<img id="thumb2" src='http://127.0.0.1:8000/media/thumb.png'>
</a>
</div>
{% endfor %}
{% endif %}
Ожидаемые результаты:
/media/P1565.png
/media/thumb.png
Фактический результат:
/media/P1565.png