2013-07-24 3 views
-1

프로젝트에 템플릿이 세 개 있습니다. first.html, second.html, third.html입니다.Django : 다른 템플릿에 변수를 보이지 않게 전달하는 방법은 무엇입니까?

first.html<input> 태그를 사용하여, 사용자로부터 문자열을 가져옵니다

<input type="radio" name="selection" value="example_string" /> 

second.html에게 표시 {{selection}}를 사용하여이 문자열을. (에서 내 views.py, 내가 가지고 request.POST.getrender_to_response()를 사용하여 값.)

되는 질문 : 어떻게third.htmlsecond.html에서이 값을 보내려면 어떻게합니까? 내 시도 중 하나 (변수에 정보를 저장하기 위해 <span> 태그 사용)가 아래에 나와 있지만 작동하지 않습니다.

<span name="selection" value={{selection}}>{{selection}}</span> 

편집 : 다음 줄 더미 하나의 라디오 버튼을 생성하여 작동합니다. <input> 태그 [사용자에게 표시]없이 변수를 만들 수 없어야하는 이유를 모르겠습니다.

<input type="radio" name="selected" value={{selected}} checked="checked" /> 

답변

0

내 대답을 Django's documentation에서 찾았습니다.

<input> 태그의 특수한 종류가 정확히 "hidden"입니다. 다음 줄은 질문에서 물어 본 것과 같은 기능을 수행하지만 더미 요소는 사용자에게 표시되지 않습니다.

<input type="hidden" name="selected" value={{selected}} /> 
+0

귀하의 질문, "설명"후에는 이것이 입력 태그를 사용하지 않고 가능한지 여부입니다. 이것은 입력 태그입니다. – Marcin

+0

보이지 않는'' 태그가 있다는 것을 몰랐습니다. 나는 정보를 보이지 않게 얻는 방법을 찾고 있었고 그것을 발견했다. 표시되는 요소와 동일한 태그를 사용하지만 사용자에게는 보이지 않습니다. –

5

웹의 작동 방식을 이해해야합니다. 각 페이지는 완전히 별개이며 별도의 요청을 통해 요청됩니다.

기본 옵션은 클라이언트 쪽에서 데이터를 저장하거나 서버에 다시 게시하는 것입니다.

두 옵션 모두 자바 스크립트로 수행 할 수 있으며 양식을 서버에 다시 게시하여 게시를 수행 할 수도 있습니다.

서버로 다시 보내려면 현재 세션이나 모델에 저장해야합니다.

많은 자바 스크립트 라이브러리가 있습니다. 당신이 그들을 사용하고 싶다면, 나는 당신이 주제 주위에 구글을 제안합니다.

+0

따라서 변수를 만들고 값을 전달할 수 없습니까? 더미 라디오 버튼을 통해 변수를 전달한' '을 성공적으로 만들었습니다. 그렇다면 ''태그 외부에서 변수를 만들 수있는 이유는 무엇입니까? –

+0

@ 존 페이튼 (JohnPeyton) 나는 당신이 무엇을 요구하고 있는지 정말로 확신하지 못합니다. 나는 당신이 코드가 서버에 모두 있기 때문에 이해하지 못한다고 생각한다. * 템플릿이 생성하는 웹 페이지는 서버가 아니라 브라우저에있다. 브라우저와 서버간에 "변수"(사용자가 의미하는 바에 관계없이)를 공유하지 않습니다. 내 답변에는 다른 페이지에 액세스하기 위해 웹 페이지에서 값을 저장할 수있는 다양한 방법이 포함되어 있습니다. – Marcin

+0

원하는 데이터 값이 브라우저에 있다는 것을 알고 있습니다.그러나 앞서 언급했듯이 새로운 템플릿에 더미 값 ''을 사용하여 데이터 값을 보낼 수있었습니다. 내 질문에 ''을 사용하여이를 수행 할 수 있다면,' '이 없으면 POST 요청으로 사용할 수있는 값을 만들 수있는 방법이 있습니까? 이런 종류의 간단한 데이터에는 쿠키가 필요하지 않습니다. –

관련 문제