Django 26

Django apscheduler SQLAlchemy Connection timed out 오류

Django 서버에서 스케쥴링을 할 일이 있어서 SQLAlchemy 라이브러리를 통해 사용중인 MySQL DB에 job을 저장해서 scheduler를 사용하고있었다. from apscheduler.schedulers.background import BackgroundSchedulerfrom apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStorefrom django.conf import settingsclass SchedulerManager: _instance = None @classmethod def get_scheduler(cls): if cls._instance is None: db_settings = ..

Django 2025.02.12

Django collectstatic S3 파일 업로드 안되는 오류 (Django static파일 S3 연결하기)

서버 배포를 할때 static파일들을 AWS S3에 보관을 하고싶거나 해야만 할때 (zappa로 배포) Django는 boto3와 django-storages를 사용한다.  가상환경에서 설치pip install boto3 django-storages  S3 버킷을 생성하고 적절하게 정책 부여 후(정책은 연결하고 해도 됨) AWS키 받아서 환경변수 설정AWS_ACCESS_KEY_ID='' # 발급받은 키AWS_SECRET_ACCESS_KEY='' # 발급받은 키AWS_STORAGE_BUCKET_NAME='' # 내가 만든 버킷 이름AWS_S3_REGION_NAME='' # 버킷 지역 settings.py에 환경변수 등록해주고 STATIC 설정AWS_S3_CUSTOM_DOMAIN = f'{AWS_STORAG..

Django 2024.12.30

Zappa로 AWS Lambda를 사용해서 Django 서버리스 배포하기

AWS Lambda 서비스를 이용하면 로드 밸런싱, 오토 스케일링등을 크게 신경 안쓰고 쉽게 서버를 배포할 수 있다.AWS 키 발급export AWS_ACCESS_KEY_ID='new_access_key_id' # 현재 셀의 환경변수 설정export AWS_SECRET_ACCESS_KEY='new_secret_access_key_id' # 현재 셀의 환경변수 설정 가상환경(venv)에서 zappa 설치pip install zappa zappa 초기 설정zappa init# zappa 환경 이름 설정 (기본 dev)# lambda 함수와 관련된 파일들을 관리할 zappa S3 버킷 이름 설정 (기본 랜덤값, 기본 해도 상관없음)# Django settings.py의 경로 설정 (Django에서 쓸 sett..

Django 2024.12.30

Django 프로젝트(3) - 📖 School Talks

https://github.com/EstSoftOrmi3FinalProject EstSoftOrmi3FinalProject EstSoftOrmi3FinalProject has 2 repositories available. Follow their code on GitHub. github.com 📖[School Talks] DRF를 활용한 입시정보 커뮤니티 서비스 🎯1. 목표와 기능 1.1 목표 고등학생들의 입시정보 및 생활정보 공유 서비스 대입에 대한 입시정보를 찾고, 일상생활을 공유하며 공감대를 형성하는 서비스 공부하다 지친 학생들이 편히 찾을 수 있는 커뮤니티 1.2 기능 기본 기능 회원가입, 로그인, 프로필 기능 커뮤니티 게시판 기능(입시게시판, 자유게시판 2개) AI 티칭 기능 선택 기능 실시간 익..

Django/DRF 2024.01.03

Django 프로젝트(2) - 🎓 AI 지식인 서비스

https://github.com/UserDongHu/ChatGPT_DRF_Project GitHub - UserDongHu/ChatGPT_DRF_Project Contribute to UserDongHu/ChatGPT_DRF_Project development by creating an account on GitHub. github.com Django DRF Project - 🎓 AI 지식인 서비스 AI가 답변을 해주는 지식인 서비스 입니다. 질문을 하면 ChatGPT가 답변을 해줍니다. 내가 한 질문과 ChatGPT의 답변이 게시물로 생성됩니다. 다른 사람들의 질문들을 볼 수 있습니다. 1. 목표와 기능 1.1 목표 DRF(Django REST Framework)를 이용한 REST API 구현 Vie..

Django/DRF 2023.12.02

DRF viewset을 이용한 serializers, authenticated 실습

APIView -> Generic(APIView + Mixins) -> ViewSet(CRUD 다 가능. URL까지 DefaultRouter로 등록 권장) 실습 가상환경 설정 가상환경 활성화 django와 drf 설치 pip install django pip install djangorestframework startproject하고 blog 앱 생성 project / urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [ path("admin/", admin.site.urls), path('blog/', include('blog.urls')), path('api-auth/', include..

Django/DRF 2023.11.20

JWT (JSON Web Token)

JWT - JSON 형식의 토큰 - 인증, 정보 교환, 세션 관리 용도 (JWT를 사용하면 세션 정보를 관리할 필요가 없어짐)로 사용 JWT의 구성 - 헤더 : JWT의 유형 및 서명 알고리즘과 같은 메타 정보 포함. base64 인코딩 - 페이로드 : 실제로 전달하려는 정보 포함. base64 인코딩 - 서명 : 토큰의 유효성을 검증하기 위한 부분. 헤더, 페이로드, 비밀 키를 사용해서 생성. base64 인코딩 xxxxx[Header].yyyyy[Payload].zzzzz[Signature] Django와 JWT의 연계 - Django의 기본 인증 시스템은 웹 애플리케이션에서는 효과적이지만, RESTful API나 분산 시스템에서 제한사항이 존재 (세션 유지와 관리 때문에 서버에 저장공간이 필요하고 ..

Django/DRF 2023.11.17

TDD (Test-Driven Development)

단위 테스트 (unit test) : 개별 함수나 메서드 같은 코드의 가장 작은 단위가 예상대로 동작하는지 검증하는 테스트. - Python 에서 unittest 모듈을 이용해서 단위 테스트를 작성하고 실행할 수 있음 import unittest # 모듈 import def add(x, y): # 더하는 함수 return x + y class TestAdd(unittest.TestCase): # 단위 테스트 def test_add(self): self.assertEqual(add(1, 2), 3) # add(1,2)가 3과 같은지 확인 if __name__ == '__main__': unittest.main() # 결과가 OK로 나옴 import unittest def add(x, y): return x..

Django 2023.11.16

Django 프로젝트(1) - Hot🔥Deal Blog

https://github.com/UserDongHu/Blog_Project 처음으로 해본 Django 프로젝트. 멘탈 깨진채로 끝까지 완성한 나 칭찬해.. 다음에는 더 진심으로 프로젝트에 몰두하는걸로.. Django Blog Project - Hot🔥Deal Blog 다양한 핫딜 정보를 게시할 수 있는 블로그 입니다. 필요한 물건을 정보 공유를 통해서 저렴한 가격으로 구매할 수 있는 웹사이트 입니다. 카테고리별로 다양한 핫딜 정보를 볼 수 있습니다. 게시글을 통해 바로 쇼핑몰 링크로 이동하여서 구매할 수 있습니다. 1. 목표와 기능 1.1 목표 Django를 통해 핫딜 정보를 게시할 수 있는 블로그 개발 Accounts(로그인, 회원가입)과 CRUD(생성, 읽기, 업데이트, 삭제) 기능을 CBV로 구현..

Django 2023.11.08

Django와 SQLite3

Django에서 DB(SQLite3)에 접근하는 방법은 여러가지가 있는데, 그중 하나는 https://userdonghu.tistory.com/entry/Django-%EC%8B%A4%EC%8A%B545-ORM-CRUD Django ORM을 이용해서 DB CRUD 해보기 공식문서 : https://docs.djangoproject.com/en/4.2/ref/models/querysets/#django.db.models.query.QuerySet Django The web framework for perfectionists with deadlines. docs.djangoproject.com Django ORM : 우리가 만든 모델 클래스와 DB에 생성된 userdonghu.tistory.com 와 같이 ..

Django 2023.10.23