在iframe中使用Django模板,404错误

时间:2013-04-24 15:23:49

标签: python django iframe modal-dialog

我设置了Django网站,主页为home.html。 home.html中的一个模式设置为在主页加载后几秒钟自动打开。在模态中是一个iframe,它应该显示template1.html。然而,当模态出现时,我有一个404,我被告知页面与我定义的url模式不匹配。我不确定在哪里或如何让template1.html显示在iframe中。用户没有点击主页面来显示新模板,这就是我熟悉使用Django的方式。我是否需要创建另一个url模式或视图才能实现此功能,还是我要离开?这是我的文件:

urls.py:

from django.conf.urls.defaults import patterns, url  
from disease import views  

    urlpatterns = patterns('',
    url(r'^$', views.home, name='disease_home'),  
    url(r'^disease/(?P<pk>\d+)/$', 'disease.views.disease', name='disease_disease'),  
    url(r'^treatment/(?P<pk>\d+)$', views.treatment, name='disease_treatment'),

home.html模式:

<div id="challengeModal" class="reveal-modal xlarge">  
    < iframe seamless scrolling="no" src="challenge1.html" name="challenge1"  
id="challenge1"></iframe>  
< /div>

views.py:

 def home(request):  
    return render(request, "disease/home.html")`  

其他视图根据template1.html

中的操作返回第二个模板template2.html

谢谢!

2 个答案:

答案 0 :(得分:2)

简短回答是,您需要另一个网址格式和iframe视图。 iframe几乎被视为嵌入式浏览器窗口,它会向服务器发出自己的请求。

答案 1 :(得分:1)

iframe src只是资源的网址。

例如,您可以使用

treatment页面加载到其中

<iframe src="/treatment/1/"></iframe>

您需要创建一个视图来提供challenge1.html模板和一个用于路由到该视图的网址