【问题标题】:Django Admin Sorl-Thumbnail LinkDjango Admin Sorl-缩略图链接
【发布时间】:2013-11-17 06:17:36
【问题描述】:

在 img 标记周围添加 html A 标记时遇到问题。当我添加带有变量的 A 标记时,它会停止在 Django Admin 中显示图像,但如果没有 A 标记中的变量,它会显示图像。我似乎无法弄清楚这一点,并且 sorl-thumbnail 可能不支持它?

*更新 现在尝试使用不同的缩略图大小传递两个变量,但它没有做任何事情。我是在 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

【问题讨论】:

    标签: python html django django-admin sorl-thumbnail


    【解决方案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)
    

    【讨论】:

    • 您认为还可以为不同尺寸的缩略图添加另一个变量,这样当他们点击图像时,它的尺寸会更大?我正在尝试您的修复,并且它适用于相同的变量,我尝试创建另一个更大尺寸的变量,但它似乎不起作用。我会将更新放在我的帖子中。
    • 我编辑了我的答案,以便发布一些代码。提示:不要着急。如果您冷静地逐行分析自己的代码,您应该能够自己发现这些疏忽。
    • 非常感谢您的帮助,有时我看代码太长了,我自己都糊涂了。出于某种原因,我认为“%s” - 是物理变量,但它们只是变量将被输入的位置。现在这是有道理的。
    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 2016-05-10
    • 2017-08-19
    • 2015-06-10
    • 2015-07-13
    • 2012-03-06
    • 2016-03-01
    • 2013-11-11
    相关资源
    最近更新 更多