본문 바로가기

분류 전체보기84

Django Admin 파일 업로드 구현하기 싱글 페이지에 들어갈 파일을 Admin에서 업로드할 수 있도록 구현해보겠습니다. from django.db import models from django.contrib.auth.models import User # Create your models here. class FileUpload(models.Model): title = models.CharField(max_length=30, null=True) file_upload = models.FileField(upload_to='about_me/files/%Y/%m/%d', blank=True) author = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) create_date = model.. 2022. 7. 15.
Docker 실행 시 이미지 안 뜨는 문제 로컬에서 실행 시 잘 뜨던 이미지가 Docker 배포 실행 시 뜨지 않는 경우가 있습니다. 단순히 이미지를 찾지 못해서 입니다. 로컬 폴더에는 있지만 배포 폴더에는 없기 때문입니다. $ python manage.py collectstatic 배포를 위해 static 폴더에 코드와 리소스들을 복사합니다. 파일들이 덮어씌워진다고 합니다. yes를 입력하면 3개의 파일이 복사되었다고 하네요. 이미지가 잘 들어간 것을 확인할 수 있습니다. $ docker-compose down -v $ docker-compose up -d --build $ docker-compose exec web python manage.py makemigrations $ docker-compose exec web python manage... 2022. 7. 14.
Django 로그인 시 CSRF 에러(CSRF verification failed. Request aborted) Lightsail을 이용한 aws 서버에서 docker 실행 시 위와 같은 에러가 발생했습니다. CSRF와 관련된 에러로 보여집니다. Help 메세지를 확인해보니 CsrfViewMiddleware를 사용하지 않으면 모든 views에 csrf_protect를 사용해야 한다고 나와있습니다. 해결 방법은 간단했습니다. https가 적용되면 csrf를 신뢰할 수 있도록 url을 추가해야 합니다. Django 버전 4.0이상은 scheme(https://)와 hostname 버전 3.2이하는 hostname만 추가하면 됩니다. docker를 다시 빌드 실행하고 migrate한 후 접속하면 잘 되는 것을 확인할 수 있습니다. https://stackoverflow.com/questions/38841109/csrf-.. 2022. 7. 12.
Flask 웹서버 만들기 Flask란? 파이썬 언어를 이용하여 웹을 구현할 수 있게 도와주는 웹 프레임워크 중 하나로 다른 프레임워크에 비해 가볍고 규칙으로부터 자유롭다. 1. 웹서버 구동 $ pip install Flask 가상환경에 Flask를 설치해줍니다. 직접 명령어로 설치하거나 파이참 에디터 File > Settings > python interpreter > Available Packages에서 설치합니다. from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "hello" def main(): app.run(debug=True, port=80) if __name__ == '__main__': main() 아무것도 없는 주소일.. 2022. 7. 12.
docker 실행 시 nginx 에러 $ sudo docker-compose up -d --build 도커 실행 시 nginx가 실행되지 않는 현상이 발생됩니다. $ nano init-letsencrypt.sh init-letsencrypt.sh 파일에 들어가서 확인해보니 도메인을 발급받은 이메일이 잘못 적혀있었습니다. 그리고 테스트 할 때 staging은 1로 해주어야 합니다. 0으로 하고 5회이상 실행하면 다시 인증 받는데 1주일 이상이 소요된다고 합니다. $ sudo docker-compose down $ sudo chmod +x init-letsencrypt.sh $ sudo ./init-letsencrypt.sh 파일을 수정한 후에 도커를 종료하고 인증서를 적용합니다. $ sudo docker-compose up -d --build.. 2022. 7. 12.
putty 접속 에러 (No supported authentication methods available) private key를 이용하여 putty 접속 시도 시 위와 같은 에러(No supported authentication methods available)가 발생 puttygen으로 변환 후 pem파일을 key로 넣어 주었는데도 발생한다. 해결 방법은 다음과 같다 puttygen에서 key > Parameters for saving key files 클릭 PPK file version을 2로 선택 후 확인 이후 private key로 다시 변환하면 접속이 된다. https://superuser.com/questions/1647896/putty-key-format-too-new-when-using-ppk-file-for-putty-ssh-key-authentication "PuTTY key format .. 2022. 7. 11.