Django

Django

장고 HTTP 리퀘스트 유효성 검사 및 에러 메시지 작성 방법

HTTP를 통한 장고 CRUD 작업 시 요청에 따른 데이터의 유효성을 검사할 수 있습니다. 유효성을 검사하려는 별도의 validators.py를 만들어서 활용할 수도 있고, views.py에서 바로 작업할 수도 있습니다. 오류가 발생하면 Validation 등 해당하는 raise하여 적절한 응답과 상태를 전달할 수 있습니다. POST 요청 데이터 유효성 검사 이전 포스팅에서 모델을 작성하며 이메일과 같은 데이터의 중복 방지를 막기 위해unique=True 속성을 사용했었는데요. 이렇게 하면 기존에 존재하는 데이터 값과 동일한 값이 사용자로부터 전달될 경우 IntegrityError가 발생합니다. 이것이 오류 검사를 진행해야 할 첫번 째 경우입니다. 두 번째 경우는 이러한 중복 뿐만 아니라 사용자가 입력하..

Django

장고 데이터 모델 작성과 CRUD 테스트 방법

지난 글에서는 URL 설정을 통해 트리거할 views.py을 간단히 작성해보았습니다. 이번에는 데이터 처리를 위해 models.py를 작성하고 views.py와 연결해보도록 하겠습니다. 목차는 다음과 같습니다. 장고 모델 작업(데이터 구조 생성) MySQL 연결과 마이그레이션 터미널을 통한 CRUD HTTP 요청과 응답을 통한 CRUD 1. 장고 모델 작업 모델의 역할은 애플리케이션과 함께 작동할 데이터의 청사진을 그리는 것입니다. 작업은 각 앱 내 models.py에서 진행합니다(참고: 앱 생성 방법). 아래와 같이 Class를 통해 모델을 생성할 수 있습니다. # humans/models.py from django.db import models class Human(models.Model): emai..

Django

장고 URL 추가 및 Views에서 URLconf 요청 응답 처리 방법

장고 서버를 실행하고 127.0.0.1:8000 URL을 입력하면 초기 페이지가 표시됩니다. 메인 URL뒤에 /challenges/first 와 같은 URL을 추가하고 싶다면 어떻게 할까요? URL 추가 및 Views 구성 방법 해당 앱 디렉토리에서 urls.py를 생성합니다. 이렇게하면 앱 디렉토리에 urls.py와 프로젝트 메인 디렉토리에 urls.py가 각각 존재하게 됩니다. 이전 포스팅에서 urls.py의 역할은 views.py의 로직을 트리거하는 것이라고 정리했는데요. 다음과 같이 django.urls의 path 함수를 통해 이를 처리할 수 있습니다. # challenges/urls.py from django.urls import path from . import views urlpatterns..

Django

장고 URL과 Views의 개념 및 역할

지난 글에서 장고의 작동 방식을 정리했습니다. 가장 먼저, 클라이언트가 요청을 보내면 URLconf에서 이를 수신하여 해당하는 View를 결정한다고 했는데요. 이번 포스팅에서는 URL과 View의 개념에 대해 정리해보도록 하겠습니다. URL 개념과 역할 사용자는 URL을 통해 특정 웹페이지에 방문할 수 있습니다. 브라우저에 아마존 웹페이지 URL https://amazon.com을 입력하면 해당 페이지가 화면에 표시됩니다. 이러한 메인 URL은 https://amazon.com/products 등과 같은 다른 URL로 이어질 수 있습니다. 메인 URL: 시작 페이지를 보여줌 연속 URL: 메인 페이지에서 이어지는 다른 페이지들을 보여줌 정리하자면 각 URL은 해당하는 서로 다른 응답과 결과를 사용자에게 ..

Django

장고의 작동 방식과 MVT 패턴

본격적으로 장고를 사용하여 프로젝트를 구성하기 전에 장고의 작동 방식과 기본 구조인 MVT 패턴에 대해 알아보도록 하겠습니다. 장고의 작동 방식 장고의 작동 방식은 다음과 같습니다. 클라이언트가 요청(Request)을 보냅니다. URLconf(urls.py)에서 이를 수신하고, 이를 분석하여 URL을 처리할 View(views.py)를 결정합니다. View에서 로직을 실행합니다. 데이터베이스와 통신이 필요할 경우, Model을 통해 작업을 수행하고 결과를 전달 받습니다. View가 전달받은 결과를 바탕으로 Template를 사용하여 전송할 HTML 파일을 생성합니다. 최종 HTML을 사용자에게 응답(response)으로 전송합니다. 이러한 장고의 작동 방식을 MVT 패턴이라고 합니다. MVT 패턴이란 무..

Django

장고 앱이란? 앱 생성 방법

장고 프로젝트를 생성하면 다양한 파이썬 파일들이 자동으로 생성된 걸 확인할 수 있습니다. 하나의 프로젝트는 보통 여러 앱으로 구성되는데요. 그렇다면 앱이란 무엇일까요? 장고 앱 설명 예를 들어, 스타벅스 웹페이지가 있다고 해보겠습니다. 스타벅스 웹페이지를 만드는 것이 하나의 프로젝트라면 해당 웹페이지 내에서 '메뉴 보기', '매장 찾기', '기프트 카드 구매하기'와 같은 기능들이 앱을 통해 구현된다고 할 수 있습니다. 정리하자면 하나의 프로젝트는 여러 앱으로 구성되며, 각 앱을 통해 원하는 기능들을 구현할 수 있습니다. 즉, 이러한 앱들이 모여 하나의 프로젝트를 구성하게 됩니다. 장고 앱 생성 방법 장고에서 앱은 다음과 같이 생성할 수 있습니다. python manage.py startapp challe..

Django

장고 초기 세팅: settings.py 설정 및 MySQL, Git 연동

이번 글에서는 지난 번에 생성한 프로젝트의 초기 세팅을 마무리하고 MySQL과 Git을 연동해보도록 하겠습니다. Settings.py 설정 터미널을 켜고 지난 번에 생성했던 가상환경을 활성화합니다. conda env list # 가상환경 확인 conda activate mysite # 'mysite' 가상환경 활성화 생성했던 장고 프로젝트 디렉토리로 이동하여 setting.py를 엽니다. cd mysite vi settings.py 가장 먼저 허용할 IP 주소를 설정합니다. 여기서는 테스트 개발 목적이므로 모두를 허용하도록 하겠습니다. # mysite/settings.py ALLOWD_HOSTS = ['*'] 장고에서 제공하는 기본 관리자 앱을 사용하지 않으려면 다음을 비활성화하고, urls.py을 수정..

Django

장고 시작하기: 프로젝트 생성 방법

이번 글에서는 장고를 시작하고 프로젝트를 생성하는 방법에 대해 알아보도록 하겠습니다. 장고는 보통 하나의 프로젝트 아래 여러 개의 앱으로 구성됩니다. 프로젝트란 하나의 웹사이트를 의미한다고 할 수 있으며, 앱은 이러한 웹사이트를 구성하는 다양한 기능들입니다. 프로젝트 생성하기 장고 프로젝트를 생성해보겠습니다. 먼저, 터미널을 열고 장고 프로젝트들을 저장할 루트 디렉토리를 생성 또는 이로 이동합니다. mkdir djangoproject 다음으로 프로젝트 디렉토리에서 앞서 생성한 mysite 가상 환경에 진입합니다. 가상 환경이 생성 또는 활성화되어 있지 않다면 다음 명령어를 입력합니다. conda create -n mysite python=3.8 conda activate mysite 이제 새로운 장고 프..

Django

장고 개발 환경 준비

장고를 본격적으로 사용하려면 적절한 개발 환경을 준비해야 합니다. 장고에서는 어떤 개발 환경이 필요할까요? 개발 환경이란 말 그대로 개발을 진행하는 환경을 의미하는데요. 장고를 통해 프로젝트를 개발하려면 파이썬과 별도의 가상 환경(아나콘다 등)이 필요합니다. 파이썬 설치 장고는 파이썬 언어를 기반으로 만들어진 웹 프레임워크입니다. 따라서 장고를 사용하려면 파이썬 설치가 필수이며 파이썬 언어에 대한 기본적인 이해가 필요합니다. 파이썬 설치하기: https://www.python.org/ 파이썬 설치 후 다음을 입력하여 설치된 버전을 다시 한 번 확인할 수 있습니다. python --version 미니콘다 가상환경 설치 및 사용 방법 위와 같이 로컬 환경에 파이썬을 설치하고 장고를 통해 개발을 진행하는 경..

Django

장고란? 장고 기초 설명

장고(Django)란 무엇일까요? 처음 들었을 때 이름이 굉장히 특이하다는 생각을 했는데요. 이는 장고를 개발한 로바티가 좋아하던 집시 재즈 기타리스트인 장고 라인하르트(Django Reinhardt)에서 유래되었다고 합니다. 장고는 2005년에 출시된 오픈소스 웹 프레임워크로 파이썬 언어를 통한 "빠른 개발과 실용적인 설계"를 목표로 하고 있습니다. 오픈소스는 코드가 모두에게 공개되어 있다는 것이고, 웹 프레임워크는 웹의 뼈대라는 의미죠. 개발자는 장고를 사용하여 파이썬 언어를 통해 안전하고 확장성 있는 방식으로 웹 애플리케이션을 빠르게 구축할 수 있습니다. 장고 웹 프레임워크 설명 파이썬에는 다양한 웹 프레임워크가 존재합니다. 그 중에서도 장고 웹 프레임워크를 선택하는 이유는 무엇일까요? 장고는 사용..

휘 Hwi
'Django' 카테고리의 글 목록 (2 Page)