Python Django在字符串中嵌入静态标记

4uqofj5v  于 2023-04-28  发布在  Python
关注(0)|答案(1)|浏览(91)

想要生成一个动态的HTML代码作为python字符串,并嵌入一些图片,如下面的django代码所示。这段代码应该被添加到另一个现有的HTML文件中,带有load静态头

def printFollowups(self):
        return """
            <table>
            <tr>
            <td>
            <p><strong> Hello World </strong></p>
            </td>
            <td>
            <img src="{% static 'images/logo.png' %}" align="right">
            </td>
            </tr>
            </table>"""

但是,问题是图像不会呈现在页面上。可能是报价有问题。想知道如何在python字符串中嵌入django静态标签。
尝试使用不同的引号和连接。

y53ybaqx

y53ybaqx1#

您可以使用Django模板或django.template.loader中的render_to_string("path/to/template.html", context)函数,而不是使用Python字符串,这取决于您如何将代码添加到现有的HTML文件中。例如,如果您使用 AJAX 调用动态更新页面,那么render_to_string()是一个潜在的解决方案,否则只需使用{% include 'path/to/template.html' %}包含模板并在呈现父视图的视图中添加上下文变量。
模板文件示例

{% load static %}
<table>
    <tr>
        <td>
            <p><strong> Hello World </strong></p>
        </td>
        <td>
            <img src="{% static CONTEXT_VARIABLE_WITH_PATH %}" align="right">
        </td>
    </tr>
</table>

只要确保CONTEXT_VARIABLE_WITH_PATH在视图或render_to_string上下文中可用即可。

相关问题