본문 바로가기

BE/Django

[django] 장고 ORM 데이터 CRUD(Create,Read,Update,Delete) 목차 1. ORM이란? 2. 장고(django)의 DB CRUD - 데이터 추가 - 데이터 조회 - 데이터 검색 - 데이터 수정 - 데이터 삭제 3. OR/AND/GROUP BY/ORDER BY 📌1. ORM이란? ORM(Object-Relational Mapping)이란 객체와 관계형 DB를 매핑해주는 것을 말합니다. 즉 내가 선언한 장고 모델 (예: Board) 객체와 DB의 테이블(예: board )을 매핑해주는 것입니다. DB내 CRUD를 하기위해서는 SQL문을 사용해 직접 Create,Read,Update,Delete 하는 것이 일반적입니다. 그러나 데이터 CRUD 시 일일히 SQL문을 작성하게 되면 코드가 복잡해집니다. 이러한 문제점을 개선하고 코드를 편리하게 사용하기 위해 ORM 을 활용하고.. 더보기
[django] 부트스트랩(bootstrap) 테마 적용하기 안녕하세요. 오늘은 장고에서 부트스트랩 테마를 적용해보겠습니다 :D 부트스트랩은 웹사이트를 쉽게 만들 수 있게 도와주는 HTML, CSS, JS 프레임워크로, 반응형 웹 페이지 구현에 많이 사용되는데요. 모바일/PC 에 최적화된 웹 페이지를 구현할 수 있을 뿐 아니라 빠르게 HTML을 구성할 수 있습니다. 오늘은 아래 free template 사이트에 올라와있는 bootstrap 템플릿을 이용할 예정입니다. URL : https://startbootstrap.com/template/shop-homepage 목차 1. 프로젝트 구성도 2. 환경 구축 3. MVT 패턴 구축 4. 부트스트랩 테마 적용 📌1. 프로젝트 구성도 프로젝트 구성도는 다음과 같습니다. (프로젝트 이름 : blog / 앱 이름 post.. 더보기
[django] REST API GET/POST 구현 인트로 안녕하세요. 오늘은 장고 DRF의 API GET/POST를 만들어 보겠습니다 :D 장고DRF 에서 API 요청을 수행하려면 Serializer(시리얼라이저, 직렬화) 클래스를 선언해야 하는데요. 프로그래밍에서 직렬화는 데이터구조나 오브젝트 상태를 재구성 가능한 포맷으로 변환하는 과정을 말합니다. 자바에서 직렬화는 객체의 내용을 바이트 단위로 변환하여 파일 송수신을 수행하도록 하는 것인데요. 파이썬 기반 장고에서 직렬화는 객체의 내용을 JSON/XML로 변환하여 Request/Response에 대응할 수 있도록 하는 과정을 의미합니다. 1. 환경 세팅 django API를 구축하기 전, DRF(django rest framework) 를 장고 프로젝트에 설치해야 합니다. 아래와 같이 pip명령어를 .. 더보기
[django] swagger로 REST API 문서 만들기 인트로 안녕하세요 :D 오늘은 장고에서 Swagger를 활용하여 REST API Doc을 만들어 보겠습니다. swagger는 프로젝트 내 많은 API를 한꺼번에 문서화하여 볼 수 있게 하는 패키지로, API 관리에 매우 용이합니다. Swagger를 사용하기 위해서는 drf-yasg , djangorestframework를 설치하여 사용할 예정입니다. drf-yasg는 장고로 정의된 API를 문서화할 수 있는 패키지로, (django rest framework- Yet another Swagger generator)의 약자입니다. 그럼 swagger 를 사용 환경을 세팅하여, Rest API 문서를 열어보겠습니다. * 프로젝트 환경 (프로젝트명 : testproject / 앱명 : blog / FBV) 목.. 더보기
[django] 어드민 계정 생성 및 비밀번호 초기화 인트로 안녕하세요. 오늘은 django 에서 슈퍼 유저, 즉 어드민 계정을 생성하는 방법에 대해 설명해드리겠습니다. django 는 관리자 권한의 사용자가 웹 서버의 컨텐츠를 관리할 수있도록 관리 인터페이스를 제공합니다. 관리자 권한의 사용자를 슈퍼유저라고 하는데요. 장고에서 슈퍼유저(superuser)란, 장고 내 모든 권한을 가진 사용자(admin) 입니다. 장고 프레임워크 내 모델 및 데이터 등을 관리할 수 있으며 admin 페이지에 들어가기 위해서는 아래와 같이 슈퍼유저를 생성해야 합니다. 목차 1) django 슈퍼유저 생성 2) django 슈퍼유저 비밀번호 초기화 3) 로컬 웹 서버 구동 4) admin 페이지 접속 5) admin.py 모델 등록 1. 슈퍼 유저 생성하기 가장 먼저 슈퍼유저.. 더보기
[django] 웹페이지 만들기 (3) - 뷰 생성하기 인트로 파이썬으로 /index URL을 입력하면 간단한 뷰를 띄우는 것을 포스팅합니다. 장고의 뷰(View)는 웹애플리케이션이 동작하기 위한 로직을 담당하는데요. 아래에서 자세히 살펴보도록 하시죠. 목차 1. django URL 매핑 확인하기 2. django View 만들기 1. django URL 매핑 확인하기 먼저 장고에서 View를 생성하기 전에 URL 매핑이 잘 정의되어 있는 지 확인해 주세요 :) * URL 매핑이 되어 있지 않으면, 주소 창에 index를 입력해도 정의한 뷰 함수가 실행되지 않습니다. urls.py from django.urls import path app_name = 'blog' urlpatterns = [ path('', views.index), ] 2. django Vi.. 더보기
[django] 웹 페이지 만들기 (2) 프로젝트와 앱 생성하기 인트로 파이썬으로 프로젝트 생성하고 간단한 앱을 통해 뷰를 띄우는 것을 포스팅합니다. 장고에서는 프로젝트를 생성하고, 앱을 또 생성해야 하는데요. 그 이유는 앱은 우리가 구현하고자 하는 웹애플리케이션이고, 프로젝트는 설정파일, 다양한 웹애플리케이션을 모아둔 집합이기 때문입니다. 따라서 Django의 프로젝트는 다양한 웹애플리케이션을 포함할 수 있습니다 :) 목차 1. django 프로젝트 생성하기 (startproject) 2. 블로그 앱 만들기 (startapp) 3. 블로그 앱 환경설정하기 (url.py, setting.py) 1. django 프로젝트 생성하기 1. 참고 원하는 웹애플리케이션(Web application)을 구현하기 위해 가장 먼저 프로젝트를 생성합니다. 프로젝트를 생성하기 위해서 .. 더보기
[django] 웹 페이지 만들기 (1) 장고 설치하고 서버 구축하기 인트로 안녕하세요 :) 오늘은 윈도우(Windows) 환경의 장고(Django) 프레임워크 설치 방법에 대해 포스팅하겠습니다. 장고 프레임워크란? 파이썬으로 구성된 MVT패턴 기반 오픈소스 웹 프레임워크입니다. 목차 1. 파이썬 설치하기 2. Windows Powershell 열기 3. 장고 설치하기 4. 'django'폴더 만들고 폴더 경로로 이동하기 5. 프로젝트 생성하기 6. 개발 서버 구축하기 7. 로컬에 접속하기 1. 파이썬 설치하기 1) 파이썬이 설치되어 있지 않다면, 아래의 링크에서 설치합니다. 2) 파이썬이 설치되어 있다면, 아래의 2단계를 진행합니다. www.python.org/downloads/ 2. Windows Powershell 열기 Window Powershell에서 명령어를 통.. 더보기