Default값을 넣을 때 Media파일을 통하여 만들었는데, gitignore에는 Media가 들어가 있어, Default 값의 사진을 넣지 못했다.
static은 gitignore에 안넣고 static >> 관리되는 폴더 (기본 이미지 등을 관리하는 폴더로 많이 사용한다. 관리자가 추가하는 것)
이용자들이 static에 들어 갈 필요가 없다.
{% if user.image == "profile/default_profile.png" %}
<img class="profile_img"
src="static/default_profile.png">
{% else %}
<img class="profile_img"
src="{{user.image.url}}">
{% endif %}
Default값을 지정해주기 위하여 Static 파일에 Default을 주고 싶은데, Media에 있었던 사진들은 git push시 gitignore에 의해 git push가 되지 않았다.
그 후
{% load static %}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
static에서 파일이 불러와지지 않아서 django 공식 문서를 찾아보다가 html 내에
{% load static %}를 넣어주니 static에 있던 default파일이 정상적으로 출력되었다!!
Informational responses (100 - 199) 정보
Successful responses ( 200 - 299 ) 성공
Redirection responses ( 300 - 399 ) 다른 곳 가세요
Client error responses ( 400 - 499 ) 요청 잘못 됐을 떄
Server error responses ( 500 - 599) 서버 잘못 됐을 때
요청이 수신되어 처리 중 ⇒ 거의 사용 되지 않는다.
요청 정상 처리
200 OK
201 Created
202 Accepted
204 No Content
- save 버튼을 눌러서 저장만 하고 화면 변화가 필요 없을 때
보통 200, 201만 쓴다. 개발 팀끼리 협의 함
추가 행동 필요
웹브라우저는 3xx의 해더에 Location
이 있으면 자동으로 Redirect 한다.
영구 Redirect: 영구 이동. 메소드와 바디가 바뀌는 301과 안 바뀌는 308이 있다.
일시 Redirect: 일시적 변경. 주문완료 후 주문 내역으로 이동
- 302: Redirect 시 메소드는 GET으로. 본문은 제거
- 307: Redirect 시 메소드와 본문 유지
- PRG(Post/Redirect/Get)
- Post 주문 후 새로고침 시 중복 주문이 가능하다.
- 주문 완료 시 302를 줘서 Redirect 시키면 새로고침 해도 결과 화면만 다시 요청한다.
클라이언트 에러
잘못된 문법! 오류의 원인이 클라이언트에 있다.
400: 요청 내용을 다시 검토해야 한다. API 스펙이 맞는 지를 확실히 해야 한다. (회원가입에 어떤 것들을 넣어야하는데 오타나 누락되었을 때)
401: 인증이 안됨 (로그인이 안되어있다.)
인증 VS 권한: 인증은 로그인이 안됐다. 권한은 내가 운영자가 아니다! Authentication vs Authorization
오류는 Unauthorized로 그냥 쓰고 있다. (이름이 아쉽다.)
403: 권한이 없다. (로그인 회원 중 운영진이 아닐 때)
404: 리소스가 없다. or 숨기고 있다.
서버 에러
복구 후 재 시도 시 성공 가능하다.
500: 서버 내부 문제
503: 서버가 일시 과부하
백엔드 로직 잘못 짰나? print문 써보고 잘 돌아가고 있는 지 확인해보기!
코드들 필수적인 것들은 숙지 하는 게 편리하고 정확하게 돌려주면 프론트엔드 사람들이 좋아한다!