0

您将如何在灯箱中显示django视图,而网站的其余部分仍在后台。

事实上,我希望有一个带有 FormView“弹出”的模态jQuery对话框,并保留我网站的其余部分,它使用画布作为整页背景。我看过 jQuery 演示,它显示了一个模态表单,但我不明白如何在对话框中呈现视图。

4

1 回答 1

3

如果您从视图中渲染模板,您可以选择两个选项之一。

您可以让模板扩展具有画布整页背景的主模板,并将您想要的额外信息呈现为格式正确的 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。

于 2013-08-25T08:31:46.650 回答