首页 > 解决方案 > 在 django 模板中加载 iframe html 标签以显示地图

问题描述

我有一个 django 应用程序,我在其中显示位于不同位置的医院的详细信息。我能够渲染所有细节,但无法将 iframe 位置的源渲染到模板。

以下是我获取 iframe 位置来源的字段。

模型.py

class mydetails(models.Model):
    Name=models.CharField(max_length=100,blank=True)
    City=models.CharField(max_length=100,blank=True)
    Location=models.TextField(max_length=5000,blank=True) #getting source of iframe

我在我的 html 中呈现如下位置的值。 视图.py

class my_detailpage(generic.DetailView):
    model = mydetails
    template_name = 'hospital_app/detail.html'

详细信息.html

<iframe class="g-maps" src="{{ mydetails.Location}}" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>

iframe 源中的内容看起来有点像https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3806.9740157153647!2d78.46347561744385!3d17.413034599999996!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3bcb975afb4afadd%3A0xf89ea8407df6c84!2sPrasads%20Multiplex!5e0!3m2!1sen!2sin!4v1595574993123!5m2!1sen!2sin

我尝试在我的模型中将 Location 值作为 URLField ,但没有帮助。当我检查我的模板时,发现即使在加载标签后我的源详细信息也是空的。

标签: pythondjangoiframe

解决方案


我很确定在使用 a 时DetailView,您的模型实例可以像object在模板中一样访问:

<iframe src="{{ object.Location }}"></iframe>

您可以通过在文档中提供此处context_object_name所述的内容来更改此设置。


推荐阅读