분류 전체보기 (148) 썸네일형 리스트형 AWS 배포(2) - EC2, RDS, github action 저번에 이어서 배포 준비하기~~ 로컬이 아닌 서버에서 돌아가는 파일은 github actions가 실행시켜준다. pr할때마다 action이 새로 실행된다. 수정한 코드를 쉽게 반영할 수 있어서 편리하다..! # deploy.yml .github/workflows/deploy.yml github actions가 실행시켜준다. name: Deploy to EC2 on: push: branches: - dev jobs: build: name: Build runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@master - name: create env file run: | touch .env echo "${{ secrets.ENV_VARS.. Network '~~' not found docker에러 때문에 컨테이너를 지웠다가 다시 만들고, 이것저것 건드리다가 저런 오류가 생겼다. 존재하지 않는 네트워크에 컨테이너를 추가하려 했기 때문에, 강제로 만들어준다. docker-compose up --force-recreate docker는 network를 통해 컨테이너끼리 통신한다.(bridge network) network ls를 통해 만들어진 network를 확인할 수 있고, 새로운 네트워크를 지정하고 사용할 수도 있다. 더 많은 명령어는 찾아서 공부하자. https://imjeongwoo.tistory.com/113 [Docker] 도커 컨테이너 Network (bridge, host, none, macvlan) / 네트워크 연결 (connect, disconnect) 도커 컨테이너 .. django.db.utils.OperationalError: (1050, "Table 'django_admin_log' already exists") docker를 배포하면서 생긴 오류. mysql table을 drop해도 계속 뜬다. 원인은 모르겠고 docker의 mysql dbdata가 들어있는 volumes을 모두 삭제해주었다. 삭제가 안되는 기본 volume도 있긴한데 이건 상관없다. 삭제 후 다시 docker를 실행하니까 성공했다. AWS 배포(1) - Django, Nginx, Gunicorn 기본정리 나보다 잘 정리한 사람도 많고...그냥 이해한대로 최대한 정리해봤다. # 배포 아키텍처 WSGI(Web Server Gateway Interface) : Application Server를 호출하여 동적인 요청을 처리할 수 있는 서버 python은 Gunicorn을 사용한다. Django의 runserver와 같은 역할! NGINX : Client에게 받은 정적인 요청을 Gunicorn으로 전달하여 처리하는 Web Server. 즉, 이 프로젝트에서 NGINX는 정적인 요청은 알아서 처리하여 사용자에게 return하고, 동적인 요청을 처리하기 위해 Application Server를 불러올 수 있는 Gunicorn을 통해 처리한다. # Docker OS에 관계없이 내가 만든 프로젝트가 같은 환경.. CEOS Readme 정리 - 4주차:DRF2 : Simple JWT & Permission Readme 파일에만 정리했는데 나중에 볼려고 블로그에도 정리함 4주차 CEOS 17기 백엔드 스터디 Q1. 로그인 인증 Session ID + Cookie 먼저, 쿠키는 서버와 클라이언트가 연결되면 자동으로 생성되고, 유저가 데이터를 요청하고 응답할 때 정보를 담아 보내는 그릇이라고 볼 수 있다. 쿠키에 담긴 정보를 통해 사용자를 식별할 수 있다. 다만, 쿠키가 탈취되면 쿠키에 담긴 정보가 그대로 노출되므로 쿠키만 사용해서 인증하는 경우는 거의 없다. 보안을 위해 쿠키와 함께 사용하는 것이 Session이다. 보안을 위해 인증 정보를 추가적인 저장 공간에 저장한다. 이때 사용하는 식별자를 Session ID라 함. 쿠키에 Session ID를 저장하여 요청과 응답을 한다. 이 Session ID의 비교.. [Django] choice와 mutiplechoice 지금 하고 있는 프로젝트는 분류가 많이 필요해 choice field에 대해 많이 알아보았다. django model은 따로 choicefield가 없다. 대신 charfield를 설정하고, choices=선택할 카테고리를 설정해주면 된다. from django.db import models DATE_CHOICES=( ('plan','plan'), ('progress','progress'), ('end','end') ) class Post(models.Model): ``` date_category=models.CharField(choices=DATE_CHOICES, max_length=50) ``` def __str__(self): return f'[{self.pk}]{self.title} :: {sel.. [Django] Do it 장고+부트스트랩 16주차 정리 이제 배포를 시작한다~!! 배포과정은 수정도 많이 했고, 비용때문에 끝부분은 읽어보기만 해서 그냥 생각나는 대로 정리만 함. 도커를 배웠다. 워낙 유명해서 이전에도 몇 번 사용하는 것을 본 적이 있는데, 정확히는 모르지만 가상환경과 비슷해서 내 컴퓨터로 운영하는 것보다 부담이 적게 프로그램을 실행하는 것이다. 여러 컨테이너에 내 프로그램들을 담아서 실행한다. 이 책에서는 내가 만든 web 프로그램, DB(PostgreSQL), Nginx를 컨테이너에 담아 사용했다. # docker-compose.yml version : '3' services: nginx: build: ./nginx volumes: - static_volume:/usr/src/app/_static - media_volume:/usr/sr.. [Django] django.template.exceptions.TemplateDoesNotExist: bootstrap4/uni_form.html 오류 django 스터디를 하면서 crispy를 이용해 form을 작성하려고 하면 오류가 났다. bootstrap버전 문제인가 해서 bootstrap과 CRISPY_TEMPLATE_PACK 모두 바꿔봤는데 django.template.exceptions.TemplateDoesNotExist: bootstrap4/uni_form.html 오류가 계속 떴다.. django-crispy-forms 2.0으로 업데이트 되면서 템플릿 팩을 추가로 설치해야 한다. pip install crispy-bootstrap4 그리고 settings.py에 'crsipy_bootstrap4' 를 작성해주면 된다. #settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.co.. 이전 1 ··· 14 15 16 17 18 19 다음