在Django模板标记中替换javascript变量

在Django模板标记中替换javascript变量,javascript,jquery,django,django-templates,Javascript,Jquery,Django,Django Templates,我有以下ajax调用的success函数,它为图像创建HTML并将其附加到div success:function(response) { var new_comment = $('<div class="row" style="background-color:white;margin:5px;">{% thumbnail '+response.author_image+' "35x35" crop="center" as im %}<img src

我有以下ajax调用的
success函数
,它为图像创建HTML并将其附加到
div

success:function(response)
    {
        var new_comment = $('<div class="row" style="background-color:white;margin:5px;">{% thumbnail '+response.author_image+' "35x35" crop="center" as im %}<img src = "{{im.url}}" width="{{im.width}}" height="{{im.height}}" >{% endthumbnail %}')

        $(".comments").append( new_comment );

    }, 
正在替换变量名而不是其值:

[Errno 2] No such file or directory: u'/home/hammad/virt_env/virt1/gccFishing/gccFishing/media/+response.author_image+'
如何替换
缩略图模板标记内的
response.author\u image
的值


TIA从您的问题中可以清楚地看出,您不了解服务器端模板语言和客户端Javascript之间的区别,这是一个非常基本的问题

模板标记在服务器端进行评估,Javascript将看到这些标记的呈现响应。这意味着无法将JS函数的结果插入标记本身


但是既然您使用的是Ajax调用,为什么不从该响应返回div的完整HTML(包括呈现的模板标记)?也就是说,使用模板片段并将其作为Ajax视图的响应进行渲染。

Django模板代码和浏览器中的JavaScript之间有一个重要的区别,您似乎缺少:

Django模板是在服务器端构建的,而JavaScript是在客户端执行的

这意味着模板代码总是在JavaScript之前执行(正如服务器在页面发送到客户端之前执行的那样)。因此,使用JavaScript操纵Django模板代码是绝对不可能的

一种选择是使用
sorl-thumbnail
get\u-thumbnail
方法在服务器端获取正确的缩略图url,然后在AJAX响应中返回它,而不是
author\u image

[Errno 2] No such file or directory: u'/home/hammad/virt_env/virt1/gccFishing/gccFishing/media/+response.author_image+'