Доступ к изображению, хранящемуся в FileStorage, из пользовательского тега шаблона в Django - PullRequest
0 голосов
/ 01 мая 2019

Я использовал FileStorage Django для хранения изображения и отправил URL-адрес этого изображения из шаблона в пользовательский тег шаблона. Но я не могу получить доступ к изображению по этому адресу.

Я также попытался получить доступ к каталогу мультимедиа, чтобы получить загруженное изображение, но я получаю следующую ошибку: IsADirectoryError at /

[Errno 21] Это каталог: 'media /'

views.py

def index(request):
    context = {}
    if request.method == "POST":

        up_image = request.FILES['image']
        fs = FileSystemStorage()
        name = fs.save(up_image.name,up_image)
        context['url'] = fs.url(name)

    return render(request,"ind.html",context)

settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/' 

шаблон ind.html

{% load testing %}
    <p>{% fname url %}</p>

пользовательский шаблон тега testing.py

from django import template
import webbrowser
from PIL import Image


register = template.Library()

@register.simple_tag


def fname(url):
    x = url[7:] #getting only the name of the file uploaded
    path = 'media/'+x


    with Image.open(path) as image:
        width, height = image.size
    return width

Я также попытался открыть изображение с пропущенным URL, но не смог заставить его работать.

Я просто пытаюсь получить доступ к загруженному изображению, чтобы выполнить его дальнейшую обработку, но сейчас я просто возвращаю ширину изображения, чтобы проверить, работает ли оно

...