我在img标记周围添加html A标记时遇到问题。当我添加带有变量的A标签时,它会停止在Django Admin中显示图像,但如果没有A标签中的变量则显示图像。我似乎无法弄清楚这一点,而且可能不会被sorl-thumbnail支持吗?
* UPDATE 现在尝试使用不同的缩略图大小传递两个变量,但它没有做任何事情。我正在使用Django Admin中的定义。
def screenshot_img(self, obj):
if obj.screenshot:
s = get_thumbnail(obj.screenshot,"x200",crop='center', quality=99)
b = get_thumbnail(obj.screeshot,"x500",crop='center', quality=99)
return u'<a href="/im_troubleticket/media/%b"><img src="/im_troubleticket/media/%s"></a>' % (s, b)
else:
return u'No image'
screenshot_img.short_description = 'Picture'
screenshot_img.allow_tags = True
答案 0 :(得分:1)
您在字符串中使用了两次变量,因此需要提供两次:
return u'<a href="/im_troubleticket/media/%s"><img src="/im_troubleticket/media/%s"></a>' % (s, s)
编辑:您的代码中有两个新错误:首先,您拼错了obj.screenshot。其次,字符串中的占位符表示数据的类型,而不是变量的名称。见Python String Formatting。如果使用描述性变量名称,则不太可能将%s中的s与变量名称混淆。
thumb_small = get_thumbnail(obj.screenshot,"x200",crop='center', quality=99)
thumb_large = get_thumbnail(obj.screenshot,"x500",crop='center', quality=99)
return u'<a href="/im_troubleticket/media/%s"><img src="/im_troubleticket/media/%s"></a>' % (thumb_small, thumb_large)