[Web] httpie 통신 에러 종류

채록·2021년 2월 2일
0

Python & Django

목록 보기
17/34
post-thumbnail

Response Status Codes

200 (OK)

  • 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드

400 (Client Error)

  • Bad Requesete
  • body에 담긴 key 값이 잘못되었을 경우 (int 인데 str type으로 입력했다던가..

409 (Client Error)

  • 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우
  • 해당 요청의 처리 중 비지니스 로직상 불가능하거나 모순이 생긴 경우

500 (Server Error)

  • 서버 오류로 인해 요청을 수행할 수 없다

회원가입

조건

  • 회원가입시 email / name(ID) / phone_number / password 입력이 필요하다.
  • password를 제외한 나머지 값은 unique 속성을 추가해야한다. (중복 거부)
  • Key_Error를 반환한다.
  • 이미 존재하는 정보 / 형식에 어긋난 정보 입력에 대한 에러를 반환한다.

models.py

  • unique = True
  • DataTimeField 를 위해 django.utils 에서 timezone input
  • 생성시간 기록 : create_at / auto_now_add=True
  • 수정시간 기록 : update_at / auto_now=True
  • 암호화 과정을 위해 password max_length=300 으로 지정

Error


Syntax_Error

models.py 에 없는 field를 views.py 의 get method를 통해 받아오고자 할때 발생하는 에러


Indentation_Error

들여쓰기를 잘못했을 때 생기는 에러 (python 에서는 들여쓰기 하나하나가 중요하다!)

이런 경우 runserver 중인 terminal에서 작업중이던 python file이 저장되자마자 에러가 발생한다


Validation_Error

Django에 내장된 validation 에 위배됐을때 발생하는 에러

현재 project에서는 django에 내장된 validation을 사용하지 않고 있다.


Attribute_Error

제대로 된 attribute name을 입력하지 않았을때 혹은 없는 attribute를 입력했을 때 발생하는 에러

위의 경우 드래그한 부분의 User.object.create 부분에서 objects 가 아닌 잘된 네임의 object를 입력시켜 에러가 발생했다.


Key_Error

views.py 에서 받고자 하는 값이 있는데 값을 입력하지 않았을때 생기는 에러

  • 화면에서는 password의 값을 입력하지 않았다고 떠있지만, password 만 추가한다면 또 phone_number 를 입력하지 않았다고 뜬다!

Value_Error

models.py 에 입력된 것과 다른 type으로 POST를 했을때 발생하는 에러


Not found

잘못된 url로 httpie 통신을 시도했을때 발생하는 에러

내 project에서 /drink와 연결되는 경로는 없다


Method not Allow

views.py에 작성되어 있지 않은 method에 대해서 통신을 시도했을 때 발생하는 에러

내 views.py 에서 PUT 과 관련된 method는 작성하지 않았다.


RunTime_Error

project의 urlpattern에 path로 연결된 경로에 대한 app이 project의 settings.py에 있는 INSTALLED_APPS 목록에 추가가 되어있지 않을 때 발생하는 에러

해결방법

  • INSTALLED_APPS에 제대로 추가한다.
  • project의 urlpatterns를 확인한다.

The Port is already is Use

이전의 terminal에서 python manage.py runserver 을 실행한 후 끄지 않고(이때 terminal 창을 닫거나 안닫거나 상황은 똑같다 = runserver 중!) 다른 terminal 에서 또 runserver 했을때 생기는 에러

해결

  • Password : 내 맥북의 비밀번호
  • Mac ver. sudo lsof -i tcp:포트번호
  • Ubuntu ver. sudo fuser -k 8000/tcp


    => Mac ver <-> Ubuntu ver. 구분 필요!

DataError

models.py 에 명시된 Field의 세부 옵션에 위배 됐을때 발생하는 에러

name에 사용된 CharField의 세부 옵션으로 max_length = 10을 해주었는데 POST로 10자가 넘는 글을 입력시켰을때 DataError가 발생했다.


DoesNotExists

객체 형태로 받아오고자 하는 것이 존재하지 않을 때 나오는 에러

사실상 에러인가? 싶다. 단지 값이 존재하지 않는다고 알려주는것 같은데


Connection_Error

runserver 를 하지 않은 채 httpie 통신을 시도했을때 발생하는 에러

profile
🍎 🍊 🍋 🍏 🍇

0개의 댓글