html - Django:在超链接中使用图像
问题描述
我对 Django 很陌生(到目前为止还没有任何知识),一个项目要求我在超链接中包含一个图像。仅包括超链接的内部创建了错误消息
'blocktrans' doesn't allow other block tags (seen "static 'pretix_app/Instagram.png'") inside it
到目前为止我的代码是
li ><img src="{% static 'pretix_app/YouTube.png' %}" alt="Youtube_icon" style="alignment: left;vertical-align:middle; width: 20px; padding-right: 5px" >
{% with 'target="blank" href="https://www.youtube.com"'|safe as a_attr %}
{% blocktrans trimmed %} <a {{ a_attr }}> Social Media-target {% endblocktrans %}
{% endwith %}</li>
这会产生一个工作超链接,但不包括图像(作为社交媒体超链接所必需的)“安全作为 attr”方法是从源代码中包含的工作模板复制而来的。
有谁知道是否可以在超链接中包含图像,如果可以,如何?
提前感谢您的帮助
解决方案
你好 Corinari,欢迎来到 StackOverflow。
正如 Django 日志所说,blocktrans
(应该是blocktranslate
自 Django 3.1 ref起)可能不包含其他标签,在本例中是该{% static 'pretix_app/YouTube.png' %}
部分。我们需要删除那部分。
一种可能的方法是使用as
语句。您可以将static
标签放在blocktrans
块之外并通过变量,如下所示:
{% static 'pretix_app/YouTube.png' as yt_icon %}
{% blocktrans %}
<li>
<img src="{{ yt_icon }}" alt="Youtube_icon" style="alignment: left;vertical-align:middle; width: 20px; padding-right: 5px"/>
...
</li>
{% endblocktrans %}
这将修复您当前的错误。然而,我还有一些进一步的说明。首先是静态路径中可能的错字pretix_app
。另一个更重要的是,正如 Abdul 在他的评论中所说,您将在第二个blocktrans
块中遇到另一个错误。据我所知,从您在此处发布的内容中,您不需要第二个blocktrans
嵌套在第一个中。您将能够将整件事翻译成一个整体。
推荐阅读
- swift - 如何为每个单元格分配一个数字?
- cassandra - Cassandra CQL 中的 SELECT 子句
- swift - 如何为 UIAlertController 设置自定义高度和宽度常量?
- php - 如何只显示分类术语的一些帖子?
- visual-studio - 有没有其他方法可以让同一网络上的其他设备访问开发机器上的 IIS Express?
- php - 我尝试在数组 array_search() PHP 中搜索数组
- python - Python 正则表达式从多行获取两个单词之间的值
- node.js - npm run build freezes - 如何调试这个?
- javascript - 正则表达式仅查找点(。)后跟两位小数
- android - 自定义视图单击侦听器,不适用于当前选项卡