쿼리 결과가 포함 된 동일한 페이지에 확인란 상태를 보존합니다

StackOverflow https://stackoverflow.com/questions/1093539

  •  11-09-2019
  •  | 
  •  

문제

Django를 사용하고 있으며 Get 양식과 약 30 개의 확인란이있는 정적 웹 페이지가 있습니다. 사용자는 다양한 상자를 선택하고 검색을 클릭하면 데이터베이스의 결과가 테이블의 동일한 페이지로 반환됩니다. 그러나 HTML은 상태가 없기 때문에 모든 확인란이 지워졌습니다.

확인란의 상태를 '기억'하는 가장 간단한 솔루션은 무엇입니까? Django 문서를 살펴 보았지만 예제는 단일 텍스트 양식에 변수와 IF를 사용합니다. 분명히 각 확인란이 쿼리에 설정되어 있는지 확인할 필요가 없습니까? 또한 내 양식은 Django 양식을 사용하기보다는 맞춤형으로 만들어졌습니다.

결국, 나는 페이지에 JSON을 사용하고 테이블 만 업데이트 할 계획이었고,이 문제를 해결할 것입니다. 그러나 이전 검색에서 작동하지 않는 백 버튼과 더 많은 것을 소개 할 것인지 확실하지 않습니다.

도움이 되었습니까?

해결책

"확인란의 상태를 '기억'하는 가장 간단한 솔루션은 무엇입니까?"

웹 거래는 무국적입니다.

상태를 구현하는 몇 가지 일반적인 방법이 있습니다.

  1. 세션. 사용자가 로그인하면 세션이 있습니다. 세션에 물건을 저장하십시오. 그들이 게시 한 양식은 세션에 들어갑니다. 그런 다음 새로운 양식을 다시 게시하기 위해 검색 할 수 있습니다.

  2. 쿠키. 세션은 쿠키를 사용합니다. 쿠키를 수동으로 사용할 수 있습니다. 여기에는 두 가지 선택이 있습니다.

    • 양식 확인란 정보를 쿠키에 넣습니다. 응답으로 보내십시오. 각 요청에서 쿠키를 확인하여 양식을 종자 해야하는 것을 알 수 있습니다.

    • 쿠키에 세션 키를 넣으십시오. 이것이 Django가 당신을 위해하는 일입니다. 이것을 직접 구현하지 마십시오.

  3. URL의 쿼리 문자열. 쿠키와 같은 두 가지 선택이 있습니다. 설정을 큰 오래된 Base64 문자열로 만들거나 세션에 서있는 ID를 전달하십시오.

다른 팁

뒤로 버튼 문제를 해결하는 방법이 있습니다 (해시 태그 및 URL에 추가되지 않은 것). 그러나 내가 항상 성취 한 방식은 바로 그 일입니다. 기본적으로, 나는 포스트의 배열로 확인란을 전달한 다음, 당신이 그들을 만들려고 할 때, 필요한 모든 상자를 만들 수있는 루프를 만들고, 포스트를 확인하여 확인되었는지 확인했는지 확인하십시오. 그 외에는 모르겠습니다.

get 사용? 좋은. 텍스트 필드 데이터에 액세스하는 것과 같은 방식으로 확인란에 액세스하십시오.

request.get [ 'Yourfield'

인쇄물을 사용하여 Get에서 사용 가능한 정보를 검사하십시오.

요청을 인쇄합니다. [ 'Yourfield'

양식 객체를 사용하는 경우 생성자에게 요청을 전달하고 완료 할 수 있습니다. 수동으로하고 있다면 세션에서 약간의 피난해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top