Server OS: Ubuntu 16.04
Flask, Python 3.5.2
Browser: Mozilla Firefox
Flask를 써서 웹페이지로부터 GET, POST 등의 요청(request)를 처리하는 코드를 만들었는데, 이상하게 웹페이지에서 form을 이용해서 POST 요청을 보낼 때마다 화면에 400 에러만 나오고 실행이 되지 않았다. 브라우저 화면에 출력되는 자세한 메세지는 다음과 같다:
400 Bad request. The browser (or proxy) sent a request that this server could not understand.
이 경우는 서버의 flask에서 받아들여야 하는 POST parameter가 없을 때 발생한다. 웹페이지의 form에서 실제로 만들어서 submit하는 name과 value의 조합 중에서, 정작 flask에서 실제로 파싱해야 하는 파라미터의 값이 없는 경우이다.
따라서 웹페이지에서 사용자 입력을 통해서 만들어 보내는 form에서 전송하는 파라미터 이름의 목록과 flask에서 request.form['파라미터_이름']으로 받아들이는 목록이 일치하는지 확인하자.
'Development > Python' 카테고리의 다른 글
Jinja2에서 데이터 타입 변환 (casting) (0) | 2018.03.02 |
---|---|
Python-firebase 사용시 SNIMissingWarning 경고가 뜨는 경우 (0) | 2017.07.31 |
Flask-RESTful에서 REST API 처리를 여러 개의 소스코드 파일로 분리하기 (0) | 2017.07.18 |
Ubuntu에서 python3, pip3를 python, pip로 쓰기 (0) | 2017.07.07 |
파이썬 익셉션 기록 출력 (0) | 2017.05.14 |