Django 23

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

Django 실습(9) 동영상 CRUD 구현하기

CBV를 이용해서 모놀로그식 방식으로 동영상 CRUD와 로그인을 구현해보자. url링크는 다음과 같다. /tube # 목록 /tube/1 # 영상 재생과 /tube/create/ # 게시물 생성 /tube/update// # 게시물 업데이트 /tube/delete// # 게시물 삭제 /tube/tag// # 해당 태그를 가진 게시물 목록 /tube/?q='keyword' # 키워드 검색 목록 /accounts/signup/ # 가입 /accounts/login/ # 로그인 /accounts/logout/ # 로그아웃 /accounts/profile/ # 프로필 실습 tube, accounts 앱 추가, settings.py 수정 'DIRS': [BASE_DIR / 'templates'], LANGUAGE..

Django 2023.10.20

DRF 와 마이크로서비스 튜토리얼

DRF : Django REST Framework Django를 기반으로 REST API 서버를 만들기 위한 라이브러리 모놀리식 : 여태까지 해온 방식으로 템플릿 문법을 써서 사용자에게 html, css, js코드를 주는 방법. API 명세표가 따로 필요없음. Server에서 렌더링을 다 해줌 - 장점 : 규모가 있지 않은 서비스의 경우 빠른 개발 가능, 소규모 팀인 경우 선택하기 좋음 - 단점 : 규모가 커질 경우 BE, FE의 역할이 혼재된다. 마이크로서비스 : Django서버와 FE서버를 별도로 운영하는것. 앞으로 DRF를 사용해서 마이크로식으로 구현해 볼 것이다. - 장점 : 서버엔지니어와 프론트엔드개발자가 API 명세서로 소통할 수 있음 - 단점 : 소규모 프로젝트에서는 의사소통 비용이 올라감...

Django/DRF 2023.10.18