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

在html中使用变量作为图像源?(python),python,html,django,image,Python,Html,Django,Image,在我开始之前,请原谅我的英语,完全是HTML新手,这是我创建的第一个django应用程序 假设我想基于表单中的输入查看静态图像以进行测试,因此如果我输入goat.jpg表单,它将显示goat.jpg 这是我的html <!DOCTYPE html> {% load static %} <html> <head> <title>test</title> </head> <body> <

在我开始之前,请原谅我的英语,完全是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}}

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

调用{%static'some/path/'%}将调用Django。如果您要查找的映像位于目录中,并且您只将文件名传递给{%static'some/path“%”,它将找不到该文件

阅读有关{STATIC_URL}}标记作为避免嵌套标记的解决方案。如果您的文件都存储在staticfiles目录的根文件夹中(由settings.py中的STATIC_root设置设置),那么这将起作用-
但是,最好实现视图调用的函数,该函数搜索静态根文件夹和所有子文件夹,以查找文件的完整相对(到静态根)路径并返回它。这种方法很复杂,但会奏效

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)