2014-06-24 4 views
1

Jinja 템플릿 페이지의 정보를 Flask로 다시 전달하려면 어떻게해야합니까?Jinja의 데이터를 다시 Flask로 전달

일부 항목 목록을 인쇄한다고 말합니다. 사용자가 항목을 선택하면 Javascript를 통해 해당 항목을 잡을 수 있습니다.

선택한 항목을 함수의 인수로 전달하여이 항목의 페이지를 생성하는 것이 가장 좋은 방법은 무엇입니까?

+0

사용 사례는 무엇입니까? 당신은 어떤 종류의 모범을 보여줄 수 있습니까? 진자는 렌더링 된 후 플라스크 앱과 의사 소통을 잃는다. – corvid

답변

5

참고 : HTML은 HTML을 의미합니다. 자바 스크립트 등

  1. 파이썬 웹 응용 프로그램은 컨트롤러의
  2. 파이썬 코드는 Jinja2에 의해 HTML 페이지를 렌더링 데이터를 준비하기 위해 파이썬 모델을 요구
  3. Jinja2 템플릿은 HTML 페이지
  4. 을 렌더링하는 페이지를 렌더링하는 HTTP 요청을 수신 Python 웹 응용 프로그램이 결과 페이지를 클라이언트에 다시 보냅니다.
  5. 클라이언트가 페이지의 일부 요소를 클릭합니다. 이로 인해 완전히 새로운 HTML 페이지에 대한 새로운 HTTP 요청이 발생하거나 웹 페이지에 새로운 데이터를 요청하거나 웹 애플리케이션에 새로운 정보를 제공하는 AJAX 요청 (비동기 적으로 브라우저의 HTML 페이지에서 JavaScript로 시작된 HTTP 요청 수행)이 될 수 있습니다 .
  6. 웹 응용 프로그램 (Python)이 요청을 받아 모델 내용을 변경하고 다시 JavaScript로 응답을 반환 할 수 있습니다.
  7. JavaScript는 브라우저에서 HTML 페이지를 업데이트하는 데 새로운 데이터를 수신합니다.

본 것처럼 Jinja 템플릿은 HTML 페이지를 렌더링 할 수있는 유일한 도구입니다. 웹 응용 프로그램과의 직접적인 상호 작용은 renderd HTML 콘텐츠를 제공하는 것 뿐이며 클라이언트가 페이지를 아직 보지 않았으므로 해당 콘텐츠에 사용자 상호 작용을 포함 할 기회가 없으며 Python 코드로 제공해야합니다.

Jinja 템플릿에서 Python 코드에 사용자 상호 작용을 알리는 방법이 위에서 설명한 왕복 여행을 통해 간접적 인 이유는 무엇입니까?

관련 문제