1

Google 캘린더에 일정 목록을 추가하는 앱을 작성했습니다. Jinja2를 템플릿 프레임 워크로 사용하고 있습니다.Jinja2 템플릿 html 양식 - 업데이트 선택

<form method="post" action="/succes"> 
<select name="calendarsummary"> 
{% for calendar_list_entry in calendar_list['items'] %} 
    <option value={{ calendar_list_entry['id'] }}>{{ calendar_list_entry['summary'] }  
</option> 
{% endfor %} 
</select> 

그래서 초기로드에 그것의 모든 사용자의 달력을 표시 : 내가 할 템플릿 선택 상자는 사용자가 약속에 업로드 할 자신의 일정 중 하나를 선택입니다 가지고,이 같이 보입니다 . 그러나, 나는 즉시 새로운 캘린더를 만들 수있는 옵션을 제공하고 있습니다. 양식이있는 페이지가 업로드 된 데이터를 다루고 있기 때문에 전체 페이지를 새로 고침하여 <select>을 새로 고칠 수는 없습니다.

<input type="text">submit 버튼을 사용하여 추가 캘린더를 만들면 select을 즉시 새로 고칠 수 있습니까? 그렇다면 어디에서 솔루션을 찾아야합니까?

지금은 action="/succes" 부분에서 수신 대기하는 처리기가 있습니다. 그러나, 작업의 결과, 즉 업로드 된 약속을 표시하는 새 페이지를 만드는 게시시. succeshandler를 트리거하지 않는 다른 게시물을 어떻게 구현합니까?

답변

0

올바르게 이해했다면 새 캘린더를 만들 때 POST를 수행하고 동일한 페이지에 GET 요청을 수행하면 jinja 템플릿이 새 데이터로 다시로드됩니다.

+0

제 질문을 약간 업데이트하겠습니다. – Difusio

1

폼에 단추를 더 추가 할 수 있습니다. 따라서 입력 (캘린더 이름)과 제출 버튼 (새 캘린더 추가)을 추가하여 새 캘린더를 게시/추가하면 업데이트 된 페이지가 표시됩니다.

/succes 게시물 처리기에서 페이지를 제출 한 버튼을 확인할 수 있습니다.

jquery를 사용하여 페이지 dom을 업데이트하고 캘린더를 추가 할 수도 있습니다.

관련 문제