컨텍스트 : Jinja2 템플릿이 포함 된 Flask를 사용하여 사용자의 웹 메일에 대한 전화 통신 기반 프론트 엔드 역할을하는 twilio 기반 웹 응용 프로그램을 만듭니다.Twilio : 클라이언트에서 서버로 상태를 통신하는 방법
질문 : 전자 메일 메시지 목록을 Jinja 템플릿에 전달하고 템플릿에서 메시지 반복문을 반복하여 각 메시지의 수행 방법에 대한 옵션을 사용자에게 제공합니다. "인쇄하려면 1을 누르고 회신하려면 2를 누르고 삭제하려면 3을 누르십시오." 그러나 템플릿에 루프가 진행될 때 액션이 적용되는 서버와 통신하는 방법을 모르겠습니다. 여기 내 코드는 다음과 같습니다
서버 코드 :
@app.route('/inbox_action', methods=['GET', 'POST'])
def action():
#1: print
#2: reply
#3: delete
if request.method=='POST' and request.form['Digits']=='1':
#do printing here
render_template('error.html')
elif request.method=='POST' and request.form['Digits']=='2':
#do replying here
pass
elif request.method=='POST' and request.form['Digits']=='3':
#do deleting here
pass
클라이언트 템플릿 :
<Response>
{% for msg in msgs %}
<Gather numDigits="1" timeout="10" action="/inbox_action">
<Say voice="woman" language="en">To print this message, press 1. To reply to this message, press 2. To delete this message, press 3.</Say>
<Say> {{msg.body}} </Say>
</Gather>
{% endfor %}
</Response>
가 어떻게 사용자가 작업을 누르면 클라이언트가 재생 된 메시지 서버를 알 수 있습니까?
두 단계로 나누지 않았다고 생각합니다. 이 기술을 사용했다면 각 메시지에 ID를 부여해야합니다. ID는 사용자가 메시지로 수행 할 작업을 선택하기 전에 선택해야합니다. 옳은? – STN
예. 나는 유일한 ID를 사용하는 것이 가장 안전한 방법이라고 말하고 싶다. –