【问题标题】:Can a django view be displayed in a lightbox?django 视图可以显示在灯箱中吗?
【发布时间】:2013-08-27 22:05:18
【问题描述】:

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

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

【问题讨论】:

    标签: javascript jquery django jquery-ui lightbox


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多