html - 为什么我不能使用 jinja 模板将静态图像文件的位置从我的 Django 视图传递到我的 html 文件?
问题描述
我正在尝试通过将 .jpg 文件的名称从视图传递给 html jinja 模板来将图像添加到 HTML 页面。该图像位于一个静态文件夹中,如果文件名直接编码,则会根据需要显示,但当我尝试通过 Jinja 传递它时不会。
Django查看代码:
def page(request):
location = '''src="{% static 'image.jpg' %}"'''
return(render(request, 'page.html', {'location':location})
HTML页面上的代码:
{% load static %}
<img {{location}} alt="image">
图像文件位于 Django 项目根目录下的静态文件夹中
我还尝试了要传入的字符串和 HTML 的其他组合,包括:
location = '''"{% static 'image.jpg' %}"'''
<img src={{location}} alt="image">
location = "'image.jpg'"
<img src= "{% static {{location}} %}" alt="image">
当我直接将文件名编码如下:
<img src= "{% static "image.jpg" %}" alt="image">
图像按需要呈现。
我觉得我有什么误解,但我不确定是什么。当我搜索时,我找不到另一个询问如何执行此操作的问题,所以如果您知道我没有找到的答案,请原谅我!
解决方案
好的......所以这有效:
location = "\image.jpg"
<img src= "{% static location %}" alt="things">
位置变量名称开头的那个额外的斜线是缺少的!不敢相信事情就这么简单。
推荐阅读
- python - Python Pynput 不循环
- python-sphinx - 如何用 Sphinx 注释掉一个目录树条目?
- gitlab - 表单包含以下错误: 无法生成指纹 密钥类型被禁止。必须是 RSA、ECDSA 或 ED25519
- r - 更改连续比例尺ggplot的标签
- linux - linux + minicom + FT232RL USB-to-UART 适配器发送回车(CR)而不是换行(LF)
- python - 为什么相同 IP:port 目标的 python 套接字和 tcp ping 之间存在差异?
- node.js - Angular中socket.io的ERR_CONNECTION_REFUSED - 节点js
- c# - 请求中止:无法创建 SSL/TLS 安全通道、RestRequest
- arrays - 在 Flatlist React native 中显示特定值
- javascript - Javascript而不是映射到数组,一次返回一个值而不是数据列表?