나는 어떻게 불러야하는지에 따라 레이아웃 (extends
태그)의 유무에 관계없이 표시하려는 사용자 동의서 같은 일부 페이지가 있습니다. 이 페이지를 iframe에로드하는 데 jQuery Fancybox
을 사용하고 있습니다. JS가 비활성화 된 경우 링크는 전체 레이아웃이있는 새 창에서 열어야합니다. 그렇지 않으면 iframe에있는 경우 링크가 필요하지 않습니다. 지금 현재로 레이아웃없는 페이지 버전을 얻는 방법은 무엇입니까?
if(window.location != window.parent.location) {
$('body').html($('#content'));
}
머리글/바닥 글 (단지 콘텐츠 부분과 몸을 교체)를 빼내야하는 jQuery를 사용하고 있어요 그러나 그 것이다 물건을로드 할 권리를하지 않는 것 표시되지 않습니다 (또는 JS가 시작될 때까지 0.5 초 동안 표시됩니다). 내가 할 수있는 일은 내용 만 포함 된 부분 템플릿을 만든 다음 머리글/바닥 글과없는 컨테이너 페이지 두 개를 만드는 것입니다. 그들은 둘 다 부분을 포함합니다. 그런 다음 JS를 사용하여 링크를 수정하십시오. 다른 뷰를 가리켜 야하는데, 다른 템플리트를 호출하는 것은 ... 많은 일처럼 보입니다. 더 좋은 방법이있을거야?
@ZeissS :
이 같은뭔가 장고에 수 없습니다 :
는{% if not iframe %}
{% extends "layouts/default.html" %}
{% endif %}
{% extends %}
태그 는 따라서는 할 수 없다, 템플릿의 첫 번째 태그해야합니다 조건부로 주석 처리했다. 아마 레이아웃 자체에서 그걸 할 수있을 것 같아요. 그리고 나서 모든 페이지에 적용될 것입니다 .... 시도해 봅시다.
(나는 장고를 모른다.) 하나의 뷰를 유지하면서 머리말/꼬리말을 바깥으로 옮기고 포함 매개 변수 주위에'if'를 만들어서 쿼리 매개 변수를 확인한다. 여러 개의 뷰/사원을 만들 필요는 없습니다. – ZeissS