【发布时间】:2013-08-27 22:05:18
【问题描述】:
您将如何在灯箱中显示 django 视图,而网站的其余部分仍在后台。
事实上,我想要一个带有“弹出”FormView 的模态 jQuery 对话框,并保留我网站的其余部分,它使用画布作为整页背景。我看过 jQuery 演示,它显示了 modal form,但我不明白如何在 对话框中呈现视图。
【问题讨论】:
标签: javascript jquery django jquery-ui lightbox
您将如何在灯箱中显示 django 视图,而网站的其余部分仍在后台。
事实上,我想要一个带有“弹出”FormView 的模态 jQuery 对话框,并保留我网站的其余部分,它使用画布作为整页背景。我看过 jQuery 演示,它显示了 modal form,但我不明白如何在 对话框中呈现视图。
【问题讨论】:
标签: javascript jquery django jquery-ui lightbox
如果您从视图中渲染模板,您可以选择两个选项之一。
您可以让模板扩展具有画布整页背景的主模板,并将您想要的额外信息呈现为格式正确的 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。然后,您可以在视图/模板中执行任何所需的模板格式设置。
示例方法二
<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。
【讨论】: