我已使用Django的FileStorage存储图像,并且已将该图像的URL从模板发送到自定义templatetag。但是我无法通过该URL访问图像。
我也尝试访问媒体目录以获取上载的图像,但是出现以下错误: IsADirectoryError位于/
[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/'
template ind.html
{% load testing %}
<p>{% fname url %}</p>
自定义templatetag 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
我还尝试使用自己传递的网址打开图片,但无法正常工作。
我只是尝试访问上传的图像,因此可以对其进行一些进一步的处理,但是现在,我只是返回图像的宽度以检查其是否正常工作