두 개의 다른 확장 템플릿간에 전환하기 위해 템플릿에서 "extends variable"을 사용할 수 있음을 알고 있습니다. 예 :django는 서로 다른 기본 템플릿을 확장합니다
views:
if something:
base = 'base1.html'
else:
base = 'base2.html'
return render_to_response ('template.html', {'base':base})
template.html:
{% extends base %}
정상적으로 작동합니다. 그러나, 내 문제는 내가 등록 및 로그인 프로세스를 처리하기 위해 내 자신의보기를 작성할 필요가없는 장고 등록을 사용하고 있다는 것입니다. 그것은 또한 변수를 템플릿에 전달할 수 없다는 것을 의미합니다. 내 프로젝트 디렉토리 아래에 등록 템플릿이 있지만.
불행하게도 (login.html 등), 장고 템플릿에서이 작업을 수행 할 수 없습니다
{% if something %}
{% extends 'base1.html' %}
{% else %}
{% extends 'base2.html' %}
{% endif %}
나는 '변수베이스'는 인증-로그인까지 전달 될 수 있다는 사실을 알고있는 유일한 방법입니다 로그인, 로그 아웃 등과 같은 내 자신의 의견을 작성합니다. 이것은 DRY 모델에 맞지 않는 것처럼 보이고 앞으로는 오류가 발생하기 쉽습니다.
내가 수행 할 수있는 또 다른 방법이 있습니까? 또는 문제를 해결할 수있는 포인터가 있습니까?
감사합니다. 아마
-P
Tomasz, 코딩 문제가 더 낫습니다. 질문을 게시 한 후, 나는 조금 더 파고 들었다. 기본 템플릿을 전환해야하는 이유는 전체 사이트 및 모바일 사이트의 두 가지 버전이 있기 때문입니다. 1/2 사이트 이상이 모바일 사이트에 절대 연결되지 않기 때문에 미들웨어를 사용하여보기에 전환을 시작했습니다. 내 문제를 해결하기 위해 내 모바일 GET 요청의 경로를 변경하는 방법을 추가해야한다고 생각합니다. 나는 게으름 때문에 그것을 피하기를 바랬습니다. 게시물을 가져 주셔서 감사합니다! 시간 내 주셔서 감사합니다. – pdxMobile