Tiny Star

✨Framework+Library/🔵Django 6

[Django] 가상환경으로 프로젝트 세팅하기2 (pipenv)

지난 venv를 가상환경으로 잡고 진행한 프로젝트가 마무리(?)되어 일단 테스트서버 문앞까지 갔다. 그리고 연이어 시작된 두번째 프로젝트.지난 venv를 가상환경으로 잡은 프로젝트에서도 내 컴퓨터에는 파이썬 버전 3.7, 3.8 두개가 설치되어 있었고venv는 내가 명시적으로 파이썬 버전을 잡아줄 수 있어서 환경변수는 3.7로 설정되어 있었다. 자세한 내용은 아래 포스팅! [Django] 파이썬 버전 바꾸고 가상환경으로 프로젝트 세팅하기(venv)개발감자 3개월차. 3개월 간 어미새 선임님이 세팅해준 프로젝트 받아서 본분을 다한 아기새 통감자. 회사가 바빠지면서 내가 스스로 세팅해야하는 일이 생겨서 처음으로 세팅해 본 장고+파이chun-k.tistory.com 두번째 프로젝트는 팀장님이 기초 세팅을 해주..

[Django] Q 객체 : 쿼리의 효율 올리기

현재 백오피스(관리자) 기능의 페이지를 구현중이다. DEV-DB에서 개발 중이지만, 운영 DB를 가지고 로컬에 복붙해놓은거라 그동안 개발공부를 하면서 더미로 집어넣은 소소한 데이터와는 양 자체가 다르다. 앞서 php로 구현된 구 코드들은 구현을 오라클 패키지를 사용해서 데이터를 호출했지만python으로  전면 개편하게 되면서 패키지는 생각하지 못하고 그냥 쿼리셋을 날린 결과 속도저하가 발생했다. 회원의 그룹과 계정을 각각 조회할 수 있는 페이지를 만들었고그룹을 조회하는 페이지는 잘 로드되지만 계정을 조회하는 페이지는 로드되는데 시간이 너무 오래걸리면서아래와 같은 ConnectionAbortedError가 나왔다. (시간이 지나면 로드가 되긴 됨) 어차피 이대로는 실서버 반영을 할 수 없으니 쿼리 속도를 ..

[Django] 파이썬 버전 바꾸고 가상환경으로 프로젝트 세팅하기(venv)

개발감자 3개월차. 3개월 간 어미새 선임님이 세팅해준 프로젝트 받아서 본분을 다한 아기새 통감자. 회사가 바빠지면서 내가 스스로 세팅해야하는 일이 생겨서 처음으로 세팅해 본 장고+파이썬 프로젝트! 일단 내 컴퓨터의 기본 파이썬 버전은 3.7이고 프로젝트에서 사용 할 파이썬 버전은 3.8.5이다. 깃에서 레포지토리 생성하고 클론해서 프로젝트 받아오면 기본 버전에 충실한 인텔리제이를 볼 수 있음 암튼 프로젝트 1분컷 세팅을 설명없이 나열해볼까한다.1.  Github에서 Repository를 생성 초딩도 만들 수 있는 New.직관적인 깃허브! 2. 프로젝트를 넣어놓을 폴더 또는 배경화면에서 Git Bash 실행 후 클론git clone 레포지토리 주소 꼭 Git Bash가 아니더라도 그냥 IDE에서 가져와도..

[Django] 장고 게시판 구현하기 - ckeditor5 적용하는 방법

대부분의 게시판을 구현하다보면 에디터 기능을 추가하게 되는데세상에는 다양한 에디터들이 많다. 대표적인 스마트에디터, summernote 등등등등...처음엔 나도 스마트에디터로 적용하는 방법을 찾아 헤매다녔는데 디자인이 그닥. 구리다.(사실 별 느낌 없었으나 선임님이 별로지않냐길래..ㅋ 듣고보니 그런거같음) 되게 다양하게 적용(?)하는 방법이 있는 것 같긴한데...... 너무 헷갈리고 장단점도 있는 것 같아서 정리해본다. 우선 CKEditor는 콘텐츠를 웹 페이지나 온라인 애플리케이션에 직접 작성할 수 있게 하는 위지위그 리치 텍스트 에디터이다.자바스크립트로 작성되어 있고 오픈 소스로 제공하는 것도 상용 라이선스를 제공하고 있어서무료로 사용이 가능하다.  CKEditor5는 Classic, Inline, ..

[Django] @action과 @api_view : View 하나에 같은 HTTP 요청 메서드가 두개일 때 API 구현하기

게시판과 댓글 CRUD의 로직이 완성됬다. 이후 내가 구현하고 싶은 것 게시판이 삭제 될 경우 댓글 전부 같이 삭제하는 로직 즉, 게시판 삭제 시 댓글의 is_delete가 False값에서 True값으로 일괄적으로 변경이 되어야 한다. (공부하는 사람들의 게시물을 보면 종종 완전히 remove 시켜버리는 경우가 있는데, 현업에서 개발은 그렇지 않다.API는 DELETE지만 실제 내부로직은 UPDATE가 맞음. DB에 한번 들어간 데이터를 지우는 일은 거의 없다.) 다시 본론으로 돌아와서 Comment View로직은 이미 댓글을 개별삭제 할 수 있는 delete 메서드가 있는 상태에추가로 게시글 삭제 시 댓글이 삭제되는 delete메서드가 추가로 필요하다. 이럴 때 쓸 수 있는 데코레이터가 @action과..

[Django] Django:장고 웹 프레임워크 구조

Django(장고)는 파이썬 언어를 기반으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크이다. 웹 프레임워크를 한번도 사용한 적이 없는 경우 단어 자체가 굉장히 낯설 수 있는데, 쉽게 풀어 이야기하자면 웹 사이트를 구축할 때 비슷한 유형의 요소들은 항상 존재하기 마련이다. 예를 들면 회원가입/로그인/로그아웃, 글쓰기/수정/삭제, 관리자 기능 등 어떤 웹에서나 필요한 기능들을 의미한다. 이런 필수 기능들을 매번 0부터 구현한다고 생각해보자. 엄청나게 비효율적이다. 이럴 때 바로 사용할 수 있는 구성 요소들을 갖춰 보다 쉽고 빠르게 웹 사이트를 개발할 수 있도록 돕는 것이 바로 웹 프레임워크이다. 개발자 치트키 도구같은거랄까. 알아서 다 해준다. 스프링이 자바나 코틀린 등의 언어로의 개발을 쉽게 도와주..