我想将iframe加载到Django模板中。模板正确加载,但是代替iframe,模板本身嵌入在父模板中。相关代码如下:
<body>
<p>
<strong>Player: {{player.username}}</strong>
<div id="playerid">{{player.id}}</div><br>
<iframe id="encoder_iframe" height=75% width="50%" src="testgame.html"></iframe>
<br>
<strong>Last score:</strong>
<span id="scores"></span><br><br>
<strong>Game state:</strong>
<div id="gamestate"></span>
</p>
<br>
</body>
&#34; testgame.html&#34;是一个与此HTML模板本身位于同一目录中的文件,但它不会加载。取而代之的是父模板本身。我查看了这个论坛,从我收集的一些帖子中我需要设置&#34; src&#34; &#34; iframe&#34;的属性到Django视图,它将分别加载iframe。它是否正确?如果是这样,我如何命名URL(即设置视图的路径)?
如果你帮我这个,我会很高兴的。谢谢!
答案 0 :(得分:10)
是的,您必须创建视图才能加载模板。 simplaset方法是使用泛型TemplateView。将此网址添加到urlpatterns
:
urls.py
from django.views.generic import TemplateView
url(r'^testgame/', TemplateView.as_view(template_name="testgame.html"),
name='testgame'),
<iframe>
标记看起来像:
<iframe id="encoder_iframe" height=75% width="50%" src="{% url 'testgame' %}">
</iframe>
答案 1 :(得分:0)
如果你想使用外部网址,你可以这样做:
<iframe id="encoder_iframe" height=75% width="50%" src="http://www.example.com/testgame.html"></iframe>
用http://
或https://
添加src,否则例如它会变成类似http://127.0.0.1:8000/www.example.com/testgame.html