Python 将django视图字典和变量传递给模板中的iframe模板
我有两页 1) create_form.html,使用create_form视图呈现 2) formatter.html,使用formatter视图呈现 我用iframe在create_form.html中添加了格式化程序视图Python 将django视图字典和变量传递给模板中的iframe模板,python,html,django,django-templates,django-views,Python,Html,Django,Django Templates,Django Views,我有两页 1) create_form.html,使用create_form视图呈现 2) formatter.html,使用formatter视图呈现 我用iframe在create_form.html中添加了格式化程序视图 <iframe src = "/formatter" width = "768" height = "500" frameBorder="0"> </iframe> 在呈现create_form.html时,我传递了一个字典来创建_form。
<iframe src = "/formatter" width = "768" height = "500" frameBorder="0"> </iframe>
在呈现create_form.html时,我传递了一个字典来创建_form。我可以在“创建表单”视图中访问此词典。但是我还需要将这个字典传递给formatter.html,它位于create_form.html的iframe中。您不能访问iframe中的上下文变量;这是因为iframe是由一个独立的视图函数/类呈现的 但是你可以用django来完成你想要的 如文件所述: Include加载模板并使用当前上下文呈现它。这是一种在模板中“包含”其他模板的方法
我找到了解决办法。我将字典如下传递给iframed视图。所以我可以在iframed模板中打印它 在create_form.html中:
<iframe src = "{% url 'formatter' tester=tester %}" width = "768" height = "500" frameBorder="0"></iframe>
不为字典工作。上述解决方案仅适用于字符串等变量。我们可以传递变量,但不能在iframe中传递整个字典。这种解决方案在某些情况下可以工作。但我的问题是这两个html页面有不同的css和js版本。如果我将它们包含在一个页面中,css和js会在某些方面引起冲突。因此,我试图用iframe将它们分开,但将它们显示为一页。
url(r'^formatter/(?P<tester>[\w-]+)/$', formatter, name='formatter')
@login_required(login_url='/accounts/login/')
def formatter(request, tester=None):
return render(request, "formatter.html", {'tester': tester})