TIL(26일차)

김규현·2022년 10월 10일
0

오늘 느낀 것

  • django 복습을 여러번 했는데도 아직 많이 헤메는 것 같다.
    '백타가 불여일견' 이라고 강의를 계속 돌려보는 것이 아니라 먼저 코드를
    입력해보고 그 다음 강의를 참고하는 것이 좋을 것 같다.
    강의를 계속 돌려보기만 한다면 내가 이해하고 들었던 내용이라 모두 알고있다고 착각할 것 같다.

오늘 할 것

  • django 복습

오늘 한 것(배운 것)

  • user = request.user.is_authenticated (user의 로그인 상태를 확인)
    -> 현재 로그인 상태가 어떤지 알아야 할 때 사용!
  • get_user_model().object.filter(username=username)
    -> get_user_model로 사용자가 있는지 검사하고 object.filter함수로 사용자가 입력한 username이 db에 저장된 username이 있는지 검사
  • UserModel.object.create_user(username=username, password=password, bio=bio)
    -> UserModel의 테이블에 사용자가 입력한 값을 항목에 맞게 저장함
  • auth.authenticate(username=username, password=password)
    -> 사용자가 입력한 값이 db에 저장되어 있는 값과 일치한지 검사
  • auth.login(request, me)
    -> me라는 변수가 사용자가 입력한 값과 일치할 때 로그인 시켜주는 함수
  • auth.logout(request)
    -> 상태를 로그아웃으로 바꿔줌 (@login_required 상태에서 가능)
  • @login_required
    -> 로그인 상태에서만 실행할 수 있는 함수라는 뜻
  • 글쓰기 기능을 구현할 때 바로 모델을 불러와 저장하는 것이 아니라
    user = request.user로 로그인 한 사용자를 불러온 후 저장하기!
  • DTL에서 ForeignKey 모델 필드를 참조한 모델을 불러올 때는 속성을 지칭해주어야한다
    ex) {{ tw.author.username }}
    tw 모델의 author는 UserModel을 참조했기 때문에 tw.author 다음 .username을 입력해주어야 한다. 그렇지 않으면 UserModel을 다 가져옴
  • 글 삭제 기능이 생각보다 간단하다.
    사용자로부터 id값을 전달받고, 모델에서 해당 id값을 불러와 .delete() 해주면 끝이다.
    -> ex) tweet = TweetModel.object.get(id=id) / tweet.delete()

내일 할 것

  • django 복습 완료 후 강의 내용을 토대로 template만 제공받아 스스로 구현해보기
profile
웹개발 회고록

0개의 댓글