본문 바로가기

내일 배움 캠프/WIL

WIL) 4주차

이번주 회고
  • 과제를 진행하며 막혔던 부분 & 알게된 것
    • 새 터미널을 자주 열면 안된다는 것(새 터미널은 연다는 것은 게임을 다시 키는 것과 같은 것이기 때문에 전에 적용한게 똑같이 적용된다는 보장이 없다!)
    • 프로젝트 구조
      • user앱- 사용자 관리 ( 회원가입/로그인/로그아웃)을 담당
      • tweet앱 - 글 관리( 글쓰기, 삭제, 수정, 댓글)을 담당
      • views.py - url에서 어떤 역할을 할 건지, 어떤 기능을 수행할 건지 만들어주는 공간
      • urls.py - 사용자가 어떤 주소로 접근할 수 있게 정해주는 공간
      • user / models.py - 사용자 이름, 비밀번호, 상태 메세지, 생성일
    • django 모델 필드의 종류
      • 문자열 : CharField, TextField
      • 날짜/시간: DateTimeField, DateField, TimeField
      • 숫자 : IntegerField, FloatField
      • 다른 테이블과 연관을 지어 줄 때 : ForeignKey
    • 모델을 만든 후 데이터베이스에 넣기
      • python manage.py makemigrations : 데이터베이스 변경을 알려주는 명령어
      • python manage.py migrate : 변경된 데이터베이스를 적용시켜주는 명령어
    • Django ORM / QuerySet 
      • Django ORM 이란?
        • 데이터베이스를 하나의 '객체(object)'로 보고, SQL 쿼리문 없이 데이터베이스의 데이터들을 다룰
          수 있게 하는것
      • 쿼리셋(QuerySet) 이란? 
        • 전달받은 모델의 객체 목록을 말한다. 예를들어, person.objects의 의미는 objects라는 객체가 person이라는 데이터베이스를 쿼리셋 형태로 만들겠다는 의미이다. 쿼리셋은 '객체' 이지만 일반적인 객체에서 사용하는 속성(객체.변수 / 객체.함수()와 같은 속성)들을 사용할 수 없다. 쿼리셋은 데이터베이스의 여러 레코드(row)를 나타낸다.
      • QuerySet Method
        • .filter()
          • 특정 조건에 맞는 Row만 조회하고 싶을 때 사용. QuerySet 타입으로 반환
        exist_user = UserModel.objects.filter(username=username)
        • .get()
          • 하나의 Row만 조회한다. .get()은 QuerySet 타입이 아닌 객체 타입으로 반환하기 때문에 뒤에 다른 메소드를 추가 할 수 없다.
          • 값이 없을 때는 DoesNotExist 에러를 발생시킨다.

          • 값이 한 개가 아닐 경우에는 MultipleObjectsReturned 에러를 발생시킨다.
    • {% ... %}
      • 템플릿 문법으로써 중복해서 html을 계속 작성하지 않아도 되도록 도와주고 html 파일에 파이썬의 
        기능들을 추가해 줄 수 있도록 도와주는 기능
이번주를 진행하며 느낀점

미니 프로젝트를 진행할 때 백엔드 부분이 너무 어려웠는데 이번 장고 기초를 배우면서 어느정도 이해할 수 있게 되었다. 하지만 장고의 기본 모듈기능이 너무 많아서 아직 어디에 어느식으로 써야할지 감이 잘 안잡힌다... 다음주 팀프로젝트를 하며 더 가까워지기를 바랄수 밖에 없을꺼같다

 

 

이번주 목표 달성 여부
    • 알고리즘 & 장고 기초 공부하기
    • 팀과제때 진행했던 코드를 최대한 줄여보기
    • 팀원과 소통 열심히 하기

 

 

다음주 목표
  • 팀프로젝트 진행하기
  • 팀원과 각자의 역할 설정 잘 나누기
  • 개인과제 해설 완벽하게 이해하기
 

'내일 배움 캠프 > WIL' 카테고리의 다른 글

WIL) 8주차  (0) 2023.05.07
WIL) 7주차  (0) 2023.05.07
WIL) 6주차  (0) 2023.04.24
WIL) 5주차  (0) 2023.04.18
WIL) 3주차  (0) 2023.04.03