django drf를 쓰다 보면, IsAuthenticatedOrReadOnly와 IsAuthenticated를 많이 보게 됩니다. 아주 많이 쓸 텐데요. 사용 용례를 통해서 차이점을 알아보도록 하겠습니다. 먼저 permissions.py를 보시면, SAFE_METHODS가 정의되어 있어요. 'GET', 'HEAD', 'OPTINS' 라고 정의되어 있습니다. 특히 get은 read-only request로 잘 알려진 메서드입니다. IsAuthenticatedOrReadOnly는 request.method가 get, options, head 이거나, 혹은 유저가 인증 되어 있는 상태이면 참을 리턴합니다. 즉, 익명의 유저에 대해서는 get, options, head만 허용합니다. 다음에 IsAuthenti..
전체 글 검색 결과
리눅스에서 xargs 명령어를 알게 모르게 봤었는데요. 자주 보면서도 대체 왜 쓰는 것인지. 어떻게 동작하는지 잘 몰랐었습니다. 그래서 쓰게 되었습니다. 어떤 명령어인지만 간단하게 알아보겠습니다. 여기에서는 옵션들을 다루지 않습니다. 필요할 때 하나씩 익히도록 하겠습니다. 먼저, xargs는 명령어를 만들고 실행시킨다고 되어 있습니다. stdio로부터. 표준 입력으로부터 읽어서 명령어를 만든 다음에, 해당 명령어를 수행하게끔 한다. 정도로 이해하면 됩니다. 서문만 읽어보면, blank나 개행을 기준으로 토큰을 분리합니다. 그리고 command를 1번 혹은 그 이상 실행시킵니다. 어떤 것이랑 같이? initial arguments랑 같이. 표준 입력으로부터 읽은 것을 가지고 처리를 한다고 되어 있어요. 무..
grep은 키워드나 패턴을 찾는 데 꽤 유용하게 쓰곤 합니다. 특히, grep -rn "keyword" . 꼴은 상당히 강력합니다. keyword를 포함하고 있는 파일을 제 현재 디렉토리에서부터 재귀적으로 찾아주기 때문입니다. 여기서 한 가지 더 질문. 특정 디렉토리를 제외하고 싶습니다. 혹은, 특정한 확장자만 검색 결과에 나오고 싶습니다. 이런 문제 상황들이 생각보다 자주 발생하는데요. 어떻게 하면 되는지 알아보겠습니다. 먼저 --exclude=GLOB입니다. 파일 이름이 pattern에 걸리는 경우 건너 뛴다고 되어 있어요. 그런데, suffix가 match 된다고 합니다. 접두사가 아니라 접미가 걸린다는 의미입니다. --exclude-dir은 파일 이름이 아닌, 폴더를 의미합니다. 폴더의 suffi..
django에서 auto_now와 auto_now_add 옵션은 어떤 차이가 있을까요? 간단하게 알아보도록 하겠습니다. 먼저 Post는 다음과 같습니다. created는 auto_now_add를 붙였습니다. 그리고 modified는 auto_now를 붙였습니다. 이 둘만 봐도 어디에 어떻게 써야 할 지 눈치챌 수 있습니다. auto_now_add는 추가 될 때 현재 시각으로 들어가고, auto_now는 수정될 때 업데이트 시각을 위한 용도로 쓰겠구나. 여기서 한 단계 더 나아가 봅시다. 먼저, 3951번 포스트를 보겠습니다. 저는 / 요청을 날리면, 3951번 포스트를 업데이트 할 거에요. index 함수는 매우 간단합니다. / 요청이 들어왔을 때, 3951번 포스트의 content를 b로 업데이트 해 ..
admin에서 선택된 포스트들을 추천 포스트로 올리고 싶습니다. 어떻게 하면 좋을까요? 물론, 일일히 포스트의 상세 정보에 들어가서 해도 되겠지만, 여간 귀찮은 것이 아닙니다. 그럴 때 할 수 있는 것은, admin의 action을 이용하는 것입니다. 먼저, 모델 Post는 위와 같습니다. user는 FK로 정의되어 있습니다. 다음에 content, created, view, recommend_flag가 정의되어 있습니다. 다음에 Action이라 하면, Action 밑에 뜨는 것들을 말하는데요. 예를 들자면, Delete selected posts라고 하면, 선택된 포스트들을 모두 삭제합니다. 이를 한 번에 처리할 수 있는 것이 action인 셈입니다. 문제에서의 요구 사항은 선택된 post들의 reco..
최근댓글