Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用django自定义模板标记显示照片_Html_Django_Python 3.x - Fatal编程技术网

Html 使用django自定义模板标记显示照片

Html 使用django自定义模板标记显示照片,html,django,python-3.x,Html,Django,Python 3.x,我想在静态文件中显示对象的图片。然而,对于某些对象,我没有图片,对于那些对象,我想显示一张图片,上面写着“没有可用的图片”。因此,我有一个名为pictures的字段,对于有图片的对象,该字段设置为1;对于没有图片的对象,该字段设置为0。 我已经做了一个模板标签,应该能够插入正确的图片,但我面临一个问题 模板标记文件: def static_picture(id_internal, picture): if picture == 1: return '"' + "{% st

我想在静态文件中显示对象的图片。然而,对于某些对象,我没有图片,对于那些对象,我想显示一张图片,上面写着“没有可用的图片”。因此,我有一个名为pictures的字段,对于有图片的对象,该字段设置为1;对于没有图片的对象,该字段设置为0。 我已经做了一个模板标签,应该能够插入正确的图片,但我面临一个问题

模板标记文件:

def static_picture(id_internal, picture):
    if picture == 1:
        return '"' + "{% static" + ' "' + 'img/pictures/' + id_internal + '.jpg' + '"' + ' %}' + '"'
    else:
        return '"' + "{% static" + ' "' + 'img/pictures/picture_missing.jpg' + '"' + " %}" + '"'
html:


它输出此信息,但不显示任何图片:

<img src="{% static "img/pictures/339-10026.jpg" %}" class="img-responsive">


路径正确,图片存在。我做错了什么?

它不是那样工作的,在对{{}}进行评估之后,就没有更多的评估了。所以你看到了弦。 您需要编辑do代码

Jinja(模板转换器从{{}}html代码创建)评估模板函数并将其插入到该位置。之后,django将此消息发送到浏览器:

<img src="{% static "img/pictures/339-10026.jpg" %}" class="img-responsive">
这将返回文件的完整路径


<img src="{% static "img/pictures/339-10026.jpg" %}" class="img-responsive">
from django.conf import settings
def static_picture(id_internal, picture):
    if picture == 1:
        return '"{}/img/pictures/{}.jpg"'.format(settings.STATIC_URL, id_internal)
    else:
        return '"{}/img/pictures/picture_missing.jpg"'.format(settings.STATIC_URL)
<img src="{{ object.id_internal|static_picture:object.picture }}" class="img-responsive">
<img src="path/to/static_folder/img/picturesXXX.jpg" class="img-responsive">