All Articles

TIL&TEL 19.09.02~ 19.09.04

TIL( Today I Learned)

  • 19.09.02

    • 코드카타
    • 1차 프로젝트 중간발표
    • 좋아요 기능 구현
  • 19.09.03

    • 중복해서 쓸것 같은거 모듈화 시키려고 코드를 짜고 안되서 디버깅을 한참 하다가 전제를 잘못 깔고 시작함을 알게됨
    • Model.objects.filter(field=variable) field 값을 바꿀수 있을 줄 알았는데 내 능력으로 바꾸질 못하네.
    • 바른 전제(= 내가 될거라 생각하고 있는 것이 정말로 되는지 시작부터 확인하고 진행)이 시간을 절약하게 만든다.
  • 19.09.04

    • 크롤링할 사이트 게시물URL이 일정치 않아 전체적으로 훑어서 게시글 주소를 뽑아오는 크롤링
    • 코멘트 기능 로직만들고 뷰 만들기

TEL (Trial and Error Log)

  • 19.09.02

    • 숫자 타입 함수변환해서 나오는건 문자다!
    • 2진법 전환 , bin(529) = ‘0b1000010001’
    • 0b는 어떤 진법을 사용한 키인지 설명해주는 키, 그뒤 의 숫자가 2진번 전환키
    • 8진법의 경우 oct(529) = ‘0o1021’ 0o 는 8진법 숫자임을 표시
    • string.strip ( char ) string 앞뒤로 char 하나씩 지운다. 없으면 안지움. 텍스트 양식 통일시킬때 매우유용함.
    • ‘someemos’.strip(‘s’) => omeemo
    • ‘someemos’.strip(‘st’) => omeemo ; t가 앞뒤로 없기때문에 omeemo 나옴
    • char 가 비어있을 경우 스페이스 삭제 함
    • indent 잘못해서 작동안함
    • Model.objects. + get vs filter
    • get 은 특정 오브젝트를 지정한다. 하나이상, 또는 결과가 없으면 에러 코드 발생, 무조건 하나가 특정이 될때 사용해야 한다. 그리고 에러가 나기 때문에 에러핸들링이 필요하다.
    • filter는 오브젝트 모음을 부르기때문에, 결과가 없으면 빈 쿼리 모음이 나온다. exists()와 결합해서 IF 조건문을 활용할 수 있다 .
  • 19.09.03

    • try 구문을 쓰고 except를 안걸어주면 에러가 발생한다! 반대로 except 를 걸고 try 가 없어도 에러가 난다.
    • cors미들웨어 등록 해논줄 알고 있었는데 까먹음
    • TypeError: init () takes 1 positional argument but 2 were given
    • 클래스뷰에 as_view() 를 빼먹으면 위의 에러가 발생합니다.
    • TypeError: ’>=’ not supported between instances of ‘str’ and ‘int’
    • pagination 자리 ( Model.objects.all() [?? :?? ] ) ?? 에는 숫자값만이 들어가야하기 때문에 변수로 넣을 경우 int ( ) 싸줘야 정상 작동을 한다.
    • query string으로 들어오는 값은 다 str 으로 들어오기 때문에 숫자를 쓸경우 무조건 int() 를 써줘야한다.
  • 19.09.04

    • exists( ) <== exist()
    • JsonResponse 로 결과값 전달시, 데이터는 f “{data}” 하면 안된다. 그냥 그자체로 던져줘야한다.
    • ↑↑↑ 텍스트로 던져줘도 되는데 그럼 프론트에서 파싱을 또 해야한다. 귀찮아 지는 거지 안되는건 아님.
    • 테스트서버를 대상폴더가 아닌 데서 켜서 url 설정을 한참 헤맸다. 안되면 처음부터 확인하기
    • django.boolean field는 그 자체로 false/ true 값을 가진다. Model.objects.Booleanfiedl = True/False
    • if 문에 그필드값을 그냥 올리면 된다는 말씀!