您将如何在灯箱中显示django视图,而网站的其余部分仍在后台。
事实上,我希望有一个带有 FormView“弹出”的模态jQuery对话框,并保留我网站的其余部分,它使用画布作为整页背景。我看过 jQuery 演示,它显示了一个模态表单,但我不明白如何在对话框中呈现视图。
如果您从视图中渲染模板,您可以选择两个选项之一。
您可以让模板扩展具有画布整页背景的主模板,并将您想要的额外信息呈现为格式正确的 div 以转换为模式。
第二种选择是将模态标记放在主模板中,并具有一个 ajax 函数,该函数将从视图加载数据并将其动态放入模态。
示例方法 1。
HTML
main_template.html
<html>
<head>.....</head>
<body>.....{% block modal_block %}</body>
<script>
$(function() {
$( "#myModal" ).dialog({
modal: true
});
});
</script>
</html>
modal_template.html
{% extends 'main_template.html' %}
{% block modal_block %}
<div id="myModal"></div>
{% endblock %}
在此方法中,您然后在视图中呈现 modal_template.html,这将创建一个 html 页面,其中包含您的主要内容,但也包含额外的模态 div。然后,您可以执行视图/模板中所需的任何模板格式。
示例方法 2
<html>
<head>.....</head>
<body>.....</body>
<script>
$(document).ready(function(){
$.get('views_url',function(data){
var myModal = $(data);
$('body').append(myModal);
$( myModal ).dialog({
modal: true
});
});
});
</script>
</html>
在这种情况下,您应该只从视图中呈现模态的 html。