아니요, Foundation의 교환은 백엔드에서 장고가 제작 한 HTML 파일 내에서 브라우저에서 실행되는 javascript입니다. 정적 파일 (주로 미디어)을로드하는 데 사용되는 것으로, 브라우저보기의 크기 클래스에 따라 다릅니다. 예 : 내부와 <img>
태그 : 당신이 최종 장치의 다른 유형에 다른 HTML을 제공하려는 경우, 당신이 클라이언트에 따라 다른 템플릿을 사용할 수 있도록, 장고 응용 프로그램의보기에 그 로직을 추가 할 필요가
<img data-interchange="[{% static 'images/my_background_small.png' %}, small], [{% static 'images/my_background.png' %}, medium]>
. 일반적으로 몇 가지 방법이 있습니다 : 같은 HTML은 모바일 및 데스크톱을 위해 제공 될 수 있도록 반응 템플릿을 작성 : 사람들이 요즘 무슨
- . 몇 가지 작은 차이점에 대해 미디어 클래스에 따라 div를 숨기거나 표시 할 수 있습니다.
- 미들웨어에서 장치를 확인하고 매개 변수로 뷰와 템플리트에 전달하여 결정할 수 있도록하십시오. (Apache 또는 nginx를) 서버에서 장치를 확인 예를
- 에 대한 django-mobile을 확인하고 당신이보기에 구문 분석 할 수 있습니다 귀하의 요청에 HTTP 헤더를 추가 (예 :
request.META.get('HTTP_MOBILE_SITE','no')
. 예 here
난 정말 이해가 안 돼요 귀하의 질문 : Foundation의 교환은 클라이언트 (사용자의 브라우저)에서 작동하며 브라우저가 렌더링 될 때 적절한 파일을 다운로드하도록 선택합니다. 다른 파일을 제공하려는 각 미디어 클래스에 대해 상호 교환에는 파일의 URL이 필요합니다. 장고의'{{ % static %}'템플릿 태그를 사용하여 게재하려는 다른 파일의 URL을 완벽하게 만들 수 있습니다. – dirkgroten
렌더링 된 HTML은 동적입니다. 예를 들어 동적 콘텐츠가있는 슬라이더를 생각해보십시오. 다른 디자인 (예 : 다양한 배경을로드해야 함). – Danra
물론 그렇습니다. 인터체인지를 사용하여 모바일 및 데스크톱에 적합한 배경 이미지를로드 할 수 있습니다. 다양한 URL을 생성하려면 django 템플릿이 필요합니다 (예 : '% -static %'images/my_background_small.png '%}, small], [{% 정적'images/my_background.png '%}, 중간]'은 (는)' '태그 안에 있습니다. 미디어 클래스가'small' 또는'medium'인지에 따라 브라우저가 적절한 배경 이미지 만로드하도록하십시오. – dirkgroten