I want to load an iframe
into a Django template. The template is getting loaded correctly, but in place of the iframe
, the template itself is getting embedded inside the parent template. The code relevant is given below:
<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>
testgame.html is a file located in the same directory as this HTML template, but it doesn't load. In its place, the parent template itself appears. I looked around Stack Overflow, and from some of the posts I gather that I need to set the src
attribute of the iframe
to a Django view, which will load the iframe
separately. Is this correct? If so, how do I configure the URL (i.e. set the path to the view)?
Yes, you have to create the view to load the template. The simplest way to do this is to use generic TemplateView. Add this url to urlpatterns
in your urls.py
:
from django.views.generic import TemplateView
url(r'^testgame/', TemplateView.as_view(template_name="testgame.html"),
name='testgame'),
And <iframe>
tag will look like:
<iframe id="encoder_iframe" height=75% width="50%" src="{% url 'testgame' %}">
</iframe>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With