在html中使用变量作为图像源? (蟒蛇)

时间:2014-09-28 06:01:43

标签: python html django image

在开始之前,请原谅我的英语,全新的HTML,这是我创建的第一款django应用程序。

所以,让我说我想根据表格中的输入查看静态图像以供测试之用,所以如果我输入 goat.jpg 形式,它会显示goat.jpg

这是我的HTML

<!DOCTYPE html>

{% load static %}

<html>

<head>
    <title>test</title>
</head>

<body>
    <center><img src="{% static "{{staticpath}}" %}" alt="gif" align="middle"/></center>
    {{boldmessage}}

    

这是我的观点

from django.shortcuts import render
from django.http import HttpResponse
from django.template import RequestContext
from django.shortcuts import render_to_response

def generate(request):
    context = RequestContext(request)
    if request.GET:
        path = request.GET.get('path','')
    context_dict = {'staticpath':path}
    return render_to_response("generated/generated.html", context_dict, context)

路径已经是一个字符串,但是如果我删除了staticpath双引号,django会引发一个异常。那么如何将路径的字符串准确地放在html图像源中,以便正确显示静态图像?谢谢!

1 个答案:

答案 0 :(得分:0)

调用{%static'some / path /'%}将调用Django static file finders。如果您要查找的图像位于目录中,并且您只将文件名传递给{%static'some / path'%},则无法找到该文件。

将{{STATIC_URL}}标记作为避免嵌套标记的解决方案。如果您的文件都存储在staticfiles目录的根文件夹中(由settings.py中的STATIC_ROOT设置设置),那么这将有效 - <img src="{{ STATIC_URL }}{{ staticpath }}"/> 但是,最好实现一个由您的视图调用的函数来搜索您的STATIC_ROOT文件夹和所有子文件夹,以查找文件的完整相对(到STATIC_ROOT)路径并返回它。这种方法很复杂但可行。