2013-08-25 1 views
0

django보기를 백그라운드에서 나머지 웹 사이트와 함께 라이트 박스에 표시하는 방법은 무엇입니까?라이트 박스에 장고보기를 표시 할 수 있습니까?

사실 저는 모달을 가지고 싶습니다. jQuery FormView와 "대화 상자"대화 상자를 열고 전체 페이지 배경으로 캔버스를 사용하는 나머지 사이트를 유지하십시오. modal form을 보여주는 jQuery 데모를 보았지만 대화 상자에서 을 어떻게 볼 수 있는지 이해할 수 없습니다..

답변

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 렌더링한다.