检查模板中自定义templatetag的返回值

时间:2019-05-02 08:15:46

标签: django templatetags

我创建了一个自定义模板标签,该标签进行了一些处理,如果一切顺利,则返回1,否则返回0。 在我的模板中,我想检查返回的值,如果它是1,则显示一个图像。我应该怎么做?

我的函数的名称是fname,它带有一个参数n,并返回1或0的值。 所以,我要检查

{% if fname n %}
   <img src="">
{% endif %}

我的自定义模板标签称为testing.py

def fname(name):
    path = 'media/'
    path += name

    if path != "media/":
        x_test = cv2.cvtColor(cv2.imread(path), cv2.COLOR_BGR2RGB)
        x_test = np.array(x_test)/127.5 - 1.
        x_test = x_test.reshape((1, 256, 256, 3)) #1 since keras expects first element of shape to be reserved for batch size
        gen = generator.predict(x_test)
        scipy.misc.imsave("main/static/main/modimages/"+name, gen[0])
        return 1

    else:
        return 0

在我的模板中

{% load testing %}
{% if fname n %}
<img src="abc.jpg">
{% endif %}

1 个答案:

答案 0 :(得分:0)

def index(request):
    name = 'yourpic.jpg'
    context= {
        'fname': fname(name)
        }
    return render(request, 'yourpage.html', context)

在模板中

{% if fname == 1 %}
<img src="abc.jpg">
{% endif %}