전체보기 102

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

Django 실습(8) RDB(관계형 데이터베이스) 만들어보기

RDB : Relational DataBase. 테이블을 통해 데이터 집합을 표현하는 방식의 데이터베이스. - 계층형 데이터베이스 (1:N) - 망형 데이터베이스 (N:M) 실습 tutorialdjango 프로젝트를 만들고, startapp blog후, settings.py를 수정해준다. DB 모델 설계 blog / models.py 에 모델 구현 구현 후 makemigrations, migrate 하기 from django.db import models from django.contrib.auth.models import User # User 모델을 import class Post(models.Model): title = models.CharField(max_length=100) content = mo..

Django 2023.10.17

Django 템플릿 필터

앞으로 settings.py 에 다음과 같이 코드를 수정한다. LANGUAGE_CODE = 'ko-kr' TIME_ZONE = 'Asia/Seoul' 템플릿 필터 : 템플릿에서 데이터를 형식화하고 변환 가능 만약에 블로그 게시물들을 아래와 같이 posts로 템플릿에 보낸다면, def postlist(request): posts = Post.objects.all() return render(request, 'blog/postlist.html', {'posts':posts}) 템플릿 필터는 이렇게 쓸 수 있다. {% for i in posts %} {{i.id}} {{i.title}} 대문자 : {{i.content|upper}} 소문자 : {{i.content|lower}} 줄바꿈안함 : {{i.conte..

Django 2023.10.17

가출에서 찾은 낭만, <날씨의 아이>

가끔 혼자 아무 계획도 없이 떠나버리고 싶을 때가 있다. 물론 한번도 실천해본적은 없지만, 이 영화의 주인공은 나보다 더 멋있게 실천에 옮겨서 결국 낭만을 찾았다. 나도 누구에게 모든 현실과 미래를 내팽겨칠만큼 중요한 사람이 되고싶다. 개연성은 조금 부족해도 확실히 입가에 미소가 띄어지는 영화인것 같다. 영화 색감이 너무 이쁜데, 넷플릭스에서 4K를 지원하지 않는게 미울만큼 FHD로 보기 아까운 배경이었다. 중간에 어디서 많이 본 조연들이 있어서 나중에 알고보니 에 나오는 주인공들이었다. ㅋㅋ 이런 감성적인 일본 애니메이션들을 보면 마음이 이쁜 노을빛으로 번지는거같아서 좋다. 언젠가는 나도 가출을 감행해서 낭만을 찾으리.. 근데 이 나이먹고 집 나가면 그냥 독립 아닌가.. 슬프다

나의 일상 2023.10.17

Django CBV - 제네릭 뷰 (Generic View)

제네릭 뷰 : Django에서 제공하는 CBV(Class-Based View)로, 자주 쓰는 View가 미리 만들어져있다. 상속받아서 사용 공식 문서 : https://docs.djangoproject.com/en/4.2/ref/class-based-views/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com Base views 뷰 클래스를 생성하고, 다른 제네릭 뷰의 부모 클래스가 되는 기본 제네릭 뷰 - View : 최상위 제네릭 뷰, 기본 뷰, Django view를 만드는데 필요한 기능 제공 - TemplateView : 템플릿이 주어지면 렌더링을 해주는 뷰 - RedirectView : URL이 ..

Django 2023.10.16

Django 실습(7) 클래스 기반 뷰 (Class-Based Views) 이용하기

그 전까지는 함수 기반 뷰를 이용해서 views.py를 만들었지만, 이제는 클래스 기반 뷰를 통해서 좀 더 쉽게 만들어보자. generic 클래스에 대한 실습 이제는 각 프로젝트마다 venv를 만들지않고 하나의 가상환경을 계속해서 쓰자. pip freeze > requirements.txt 를 이용해서 버전관리를 할 수 있다. 설치할때는 pip install -r requirements.txt 사용 그리고 .gitignore파일을 만들고 venv를 입력해서 가상환경은 무시하도록 한다. startproject를 하고, startapp으로 blog를 만들어서 클래스 기반 뷰를 사용해보자. tutorialdjango / urls.py from django.contrib import admin from djan..

Django 2023.10.16

Django 실습(6) Login 기능 구현하기

Django에서는 startproject를 했을 때 자동으로 추가되는 django.contrib.auth 앱을 이용하면 간단하게 구현할 수 있다. 실습 Django 프로젝트를 만들고 accounts 앱 추가, settings.py에 app추가, urls.py에 "accounts/" url 추가 accounts / urls.py 추가 from django.urls import path from . import views app_name = "accounts" urlpatterns = [ path('signup/', views.signup, name='signup'), path('login/', views.login, name='login'), path('logout/', views.logout, name=..

Django 2023.10.13

Django 실습(5) Form과 ModelForm 사용한 블로그

지난번엔 html파일에서 태그를 하나씩 직접 달아서 post로 보내는 방식으로 게시물을 생성했지만, 이번에는 장고에서 제공하는 Form과 ModelForm을 이용해서 좀 더 간단하고 효율적으로 처리할 수 있다. 역할 : Form 클래스의 데이터를 읽어서 HTML 입력폼을 알아서 만들어주고 유효성 검증 및 값 반환이 쉽다. Form과 ModelForm의 차이 : Form은 직접 필드를 정의하고 위젯 설정이 필요하지만, ModelForm은 지정된 Model로 부터 필드 정보를 읽고 자동으로 필드를 설정한다. 실습 지난번에 한 실습에서 파일들을 좀 수정하면서 진행 blog / models.py 수정 from django.db import models class Post(models.Model): title =..

Django 2023.10.12

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에 생성된 테이블을 자동으로 연관지어 주는 기술. python 문법을 통해서 DB를 조작할 수 있다. 실습(4)에서 만들어둔 모델과 DB를 이용해서 ORM 사용해보기. python manage.py shell blog / models.py 에서 Post 클래스 import 하기 >>> from blog.models import Po..

Django 2023.10.11