设置URL以在Django模板中加载iframe

时间:2015-02-01 22:17:09

标签: javascript html django iframe

我想将iframe加载到Django模板中。模板正确加载,但是代替iframe,模板本身嵌入在父模板中。相关代码如下:

        <body>

                <p>
                        <strong>Player: {{player.username}}</strong>&nbsp;
                        <div id="playerid">{{player.id}}</div><br>
                        <iframe id="encoder_iframe" height=75% width="50%" src="testgame.html"></iframe>
                        <br>
                        <strong>Last score:</strong>&nbsp;
                        <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(即设置视图的路径)?

如果你帮我这个,我会很高兴的。谢谢!

2 个答案:

答案 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