0
在我的模板中,我试图添加一个自定义标记,它接受一个图像输入,然后输出该图像和一个类,描述它是高还是宽。从自定义模板标记访问静态文件
我的代码如下。
模板:
{% load custom_tags %}
{% image_size_class "MANAGEMENT/image.jpg" %}
的自定义标签:
from django import template
from PIL import Image
from django.templatetags.static import static
register = template.Library()
@register.simple_tag
def image_size_class(pattern):
pattern_url = static(pattern)
img = Image.open(pattern_url)
width, height = img.size
if width > height:
class_tag = "wide"
else:
class_tag = "tall"
return '<img src="' + pattern_url + '"' + ' class="' + class_tag + '">'
期望的结果:
<img src="/static/MANAGEMENT/image.jpg" class="wide">
实际发生的是,我从PIL得到错误:
[Errno 2] No such file or directory: u'/static/MANAGEMENT/image.jpg'
PIL似乎找不到我想要的文件,但我不确定它在哪里查找!任何帮助将不胜感激,谢谢。
我以为这么多,我只是无法找到一个方法来完成它!非常感谢。我最终得到了图像的完整URL,然后使用它,但这样好多了。 – JBux 2014-10-10 14:42:46