장고+부트스트랩 파이썬 웹 개발의 정석 - 5

FitYourEarPlug 개발을 위해 공부한 책 내용 정리입니다. 제가 모르는 부분만 적었어요. 18장. 기타 편의 기능 구현하기 19장. 대문 페이지와 자기소개 페이지 완성하기 20장. 도커로 이사 준비하기 도커: 문서프로그램의 “폰트 포함 저장” 기능과 유사(= 의존성 있는 파일들을 포함하여 다른 환경에서 실행가능) 21장. Amazone Lightsail에 배포하기 let’s encrypt 인증서 발행 시, 방화벽에 80포트를 허용해놔야 하고 웹서버(nginx)를 up 시킨상태로 진행해야 함. 22장. 도메인 연결하기 끝. ...

7월 24, 2022 · Jaejin Jang

마중 - 허림

사랑이 너무 멀어 올 수 없다면 내가 갈게 말 한마디 그리운 저녁 얼굴 마주하고 앉아 그대 꿈 가만가만 들어주고 내 사랑 들려주며 그립다는 것은 오래전 잃어버린 향기가 아닐까 ...

7월 24, 2022 · Jaejin Jang

무제 - 고은

급한 물에 떠내려가다가 닿은 곳에서 싹 틔우는 땅버들씨앗 이렇게 시작해보거라 고은, 순간의 꽃 중에서 이 시를 읽으면 무언가를 시작할 때의 부담을 조금 내려놓을 수 있습니다. ...

7월 17, 2022 · Jaejin Jang

Let's encrypt 인증서 ERR_CERT_AUTHORITY_INVALID 해결하기

ERR_CERT_AUTHORITY_INVALID 개발중인 웹사이트에 https를 적용하면서 무료인 Let’s encrypt 인증서를 이용했습니다. 적용했는데 아래와 같은 에러가 발생하더라고요. 관련해서 찾아보니 2021년 9월에 Let’s encrypt의 루트 인증서 변경으로 인한 이슈가 한번 있었는데, 지금은 2022년 7월 이잖아요? 저도 괜히 저 이슈랑 연관있나 싶어서 찾아보다가 시간만 날렸습니다. 아까운 내 시간.. 현상 ...

7월 7, 2022 · Jaejin Jang

Package libffi was not found in the pkg-config search path

Package libffi was not found in the pkg-config search path 본인 개발 환경에서는 docker-compose build시 아무런 문제가 없는데, 막상 가상서버에서 docker-compose build를 하면 cffi 빌드 문제가 발생하는 경우가 있습니다. 에러 메시지는 아래와 같습니다. debug log 1 2 3 4 5 6 7 8 9 10 11 12 13 #11 10.05 Building wheels for collected packages: cffi #11 10.05 Building wheel for cffi (setup.py): started #11 10.05 Building wheel for cffi (setup.py): finished with status 'error' #11 10.05 ERROR: Command errored out with exit status 1: #11 10.05 command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lt5a4gm7/cffi_f02ff5d2648d42c398bfaa5f9587d9a1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lt5a4gm7/cffi_f02ff5d2648d42c398bfaa5f9587d9a1/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-m5z8su85 #11 10.05 cwd: /tmp/pip-install-lt5a4gm7/cffi_f02ff5d2648d42c398bfaa5f9587d9a1/ #11 10.05 Complete output (58 lines): #11 10.05 Package libffi was not found in the pkg-config search path. #11 10.05 Perhaps you should add the directory containing `libffi.pc' #11 10.05 to the PKG_CONFIG_PATH environment variable #11 10.05 Package 'libffi', required by 'virtual:world', not found #11 10.05 Package libffi was not found in the pkg-config search path. #11 10.05 Perhaps you should add the directory containing `libffi.pc' 해결 가상 서버에는 libffi-dev가 설치되어 있지 않아서 그렇습니다. Dockerfile 패키지 설치작업에 libffi-dev 를 추가하면 해결됩니다. 1 RUN apk add postgresql-dev gcc python3-dev musl-dev zlib-dev jpeg-dev libffi-dev

7월 4, 2022 · Jaejin Jang

pkg-resources==0.0.0 not found 해결하기

pkg-resources==0.0.0 파이썬 패키지 관리를 위해 freeze를 이용하여 requirements.txt를 만들고 이 파일을 이용해 패키지를 설치하다 보면 만나게 되는 이슈입니다. 보통 아래와 같은 명령어 실행중에 만나게 되겠죠? 1 2 $ pip freeze > requirements.txt $ pip install -r requirements.txt debug log 1 2 Could not find a version that satisfies the requirement pkg-resources==0.0.0 (from -r requirements.txt (line 24)) (from versions: ) No matching distribution found for pkg-resources==0.0.0 (from -r requirements.txt (line 24)) 해결 원인을 찾아보고자 pkg-resources==0.0.0 의 용도가 무엇인지 찾아봤는데, 그냥 버그라네요;; askubuntu 링크 무튼 그냥 패키지에서 제거하셔도 무방합니다. 1 $ pip uninstall pkg-resources==0.0.0

7월 4, 2022 · Jaejin Jang

장고+부트스트랩 파이썬 웹 개발의 정석 - 4

FitYourEarPlug 개발을 위해 공부한 책 내용 정리입니다. 제가 모르는 부분만 적었어요. 11장. 다대다 관계 구현하기 ManyToManyField를 사용한다. 기본적으로 null=Ture가 설정되어 있다. 15장. 폼으로 포스트 작성과 수정기능 구현하기 웹 개발에서는 입력 빈 칸을 폼(form)이라고 한다. CreateView을 사용하면 xxx_form.html 템플릿을 찾는다. 장고는 태그의 action 속성(입력한 데이터를 전송할 url 설정)을 설정하지 않아도 알아서 처리해 준다. 로그인안 사용자에게만 허용하려면 LoginRequiredMixin 클래스 사용 UserPassesTestMixin 클래스를 사용하여 유저의 속성을 확인하는 메소드를 사용할 수 있다. 16장. 외부 라이브러리를 블로그에 활용하기 django-xxx 형태의 패키지를 찾아서 사용하면됨 17장. 폼으로 댓글 기능 구현하기 url 뒤에 #comment-1 과 같이 표기하면 해당 id의 요소로 바로 링크 가능

6월 26, 2022 · Jaejin Jang

담쟁이 - 도종환

저것은 벽 어쩔 수 없는 벽이라고 우리가 느낄 때 그때 담쟁이는 말없이 그 벽을 오른다 물 한 방울 없고 씨앗 한 톨 살아남을 수 없는 저것은 절망의 벽이라고 말할 때 담쟁이는 서두르지 않고 앞으로 나아간다 ...

6월 25, 2022 · Jaejin Jang

장고+부트스트랩 파이썬 웹 개발의 정석 - 3

FitYourEarPlug 개발을 위해 공부한 책 내용 정리입니다. 제가 모르는 부분만 적었어요. 11장. 테스트 주도 개발 적용하기 12장. 템플릿 모듈화하기 13장. 다대일 관계 구현하기 SlugField 사람이 읽을 수 있는 텍스트로 고유 URL을 만들고 싶을 때 사용한다. ForeignKey로 연결되어 있는 레코드를 불러 올 수 있다. 모델명을 소문자로 쓰고 뒤에 _set을 붙이는게 기본 설정이다.

6월 18, 2022 · Jaejin Jang

장고+부트스트랩 파이썬 웹 개발의 정석 - 2

FitYourEarPlug 개발을 위해 공부한 책 내용 정리입니다. 제가 모르는 부분만 적었어요. 8장. 웹 페이지 만들기 9장. 정적 파일과 미디어 파일 관리하기 10장. 페이지 구성 개선하기 장고의 모델을 만들면 기본적으로 pk 필드가 만들어 진다. 일반적인 기능 개발이라면 CBV 방식을 추천한다. ListView는 모델명 뒤에 ‘_list’가 붙은 html 파일을 기본 템플릿으로 사용한다. 장고 templates 폴더의 html 파일은 정적인 파일이 아니다. Pillow: 파이썬 이미지 처리 라이브러리

6월 11, 2022 · Jaejin Jang