728x90 반응형 SMALL 분류 전체보기1624 [Django] REST API REST API 장고에서 클라이언트 (사용자) 인증이나 컨텍스트 (세션, 로그인 정보)등을 직접 관리하는 REST API 툴킷이 존재한다. docker run -it -p 9998:8000 -p 9997:3000 -v ${PWD}:/code --name project-01 --net project project:test 장고 패키지를 설치한다. /code # pip install django /code # pip install djangorestframework /code # pip install psycopg2-binary /code # pip install Pillow /code # pip freeze 다음을 수행하면 간단한 형태의 프로젝트가 생성된다. /code # django-admin start.. 2023. 2. 21. [Django] 프로젝트 생성 깃 저장소 (Git Repository) git init git config user.name "닉네임" git config user.email "이메일" gitignore gitignore은 프로젝트 작업시 로컬 환경의 정보나 빌드 정보등 원격 저장소에 관리되지 않는 파일들에 대해서 지정하여 원격 저장소에 실수로 올라가지 않도록 관리하는 파일이다. 정의한 정보들에 해당하는 파일들에 대하여 git track하지 않도록 설정하는 역할을 한다. https://www.toptal.com/developers/gitignore에서 프로젝트에 필요한 파일을 얻을 수 있다. # Created by https://www.toptal.com/developers/gitignore/api/django,python,node,.. 2023. 2. 20. [React] 템플릿 언어 (2) 폼 (Form) 양식 (form)은 웹 어플리케이션에서 사용자로부터 데이터를 입력 받기 위해서 필수적인 기능이다. 다시 말해, 리액트에서 검증을 위한 도구이다. npm install react-form-hook register handleSubmit errors getValues setValue 검증 required min, max minLength, maxLength pattern axios 모듈 서버로 요청을 보내기 위한 도구로 axios는 비동기 http 요청이다. axios.defaults는 모든 요청에 적용될 값을 지정할 수 있다. npm install axios baseURL headers common : 모든 요청에 대한 헤더 post : 포스트 요청에 대한 헤더 정의 withCredenti.. 2023. 2. 20. [React] 템플릿 언어 (1) 템플릿 언어 장고 프레임워크에서 파이썬 변수 및 문법을 html 안에서 쓸 수 있도록 장고에서 제공해주는 언어이다. JSX (JavaScript XML) 리액트에서 사용하는 자바스크립트를 확장한 언어이다. HTML 태그와 컴포넌트로 컴포넌트의 구조를 표현한다. 중괄호 ({,})에 자바스크립 표현식을 사용할 수 있다. HTML과 다르게 클래스 적용을 위해서는 className을 사용해야 한다. 컴포넌트는 반드시 루트 요소 하나를 반환해야 한다. 훅 (Hook) Hook은 React 버전 16.8부터 React 요소로 새로 추가되었다. Hook을 이용하여 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 있다. 컴포넌트 코드를 간단하게 해준다. useState 상.. 2023. 2. 20. [React] 프로젝트 구조 프로젝트 구조 npx create-react-app web --template typescript npm start : 프로젝트 실행 npm build : 프로젝트 빌드 프로젝트 확인 : 크롬 주소창에서 localhost:3000 SPA (Single Page App) 싱글 페이지 애플리케이션은 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹 사이트를 말한다. 기존 앱은 전체 페이지를 서버에서 받아왔다. SPA는 처음 필요한 데이터를 가져오고 페이지 전환없이 일부를 렌더링한다. 컴포넌트 컴포넌트는 리액트로 만들어진 앱을 이루는 최소한의 단위를 말한다. 사용자 정의 태그 클래스 기반 컴포넌트 함수 기반 컴포넌트 2023. 2. 20. [Django] 기본 요소 (2) Viewsets 모델의 컨트롤러들의 집합이다. 일반적으로 객체 생성과 객체 리스트 조회, 객체 상세 조회, 객체 수정, 객체 삭제가 있다. queryset serializer_class permission_classes ulrs.py URL은 웹 주소이다. 웹사이트를 방문할 때마다 URL을 볼 수 있다. URL은 브라우저의 주소 표시줄에 표시된다. as_view : HTTP 메서드와 컨트롤러를 매칭 AbstractUser 사용자 정의 회원 모델을 위한 Django의 추상 모델이다. 필요한 필드가 있다면 하위 모델에서 정의한다. USERNAME_FIELD : 사용자를 식별하는데 사용 REQUIRED_FIELDS : USERNAME 필드는 항상 필수 settings.py에 AUTH_USER_MODEL 설정 .. 2023. 2. 20. [Django] 기본 요소 (1) 모델 장고는 모델 (Model)을 이용하여 데이터베이스를 처리한다. 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만 장고의 모델 (Model)을 사용하면 이런 SQL 쿼리문의 도움없이 데이터를 쉽게 처리할 수 있다. 모델 데이터베이스 테이블 필드 데이터베이스 속성 매니저 Manager는 Django Model에 제공되는 데이터베이스 쿼리 인터페이스이다. 모든 Model은 하나 이상의 Manager를 가지게 된다. 데이터베이스 관련 동작을 정의한다. 장고는 웹 요청 ➡ urls.py ➡ view ➡ 모델 ➡ 데이터베이스의 데이터 흐름을 가지고 있다. Django REST Framework (DRF) Django의 REST API를 위한 프레임워크이다. 웹 탐색 가능.. 2023. 2. 20. [Django] Search (검색 기능) Search (검색 기능) 웹 애플리케이션의 일반적인 작업은 사용자 입력으로 데이터베이스의 일부 데이터를 검색하는 것이다. 간단한 경우 범주별로 개체 목록을 필터링할 수 있다. 보다 복잡한 사용 사례에서는 가중치, 범주화, 강조 표시, 여러 언어 등을 사용한 검색이 필요할 수 있다. home.html topics별로 browse 가능한 home.html을 구현한다. {% extends 'main.html' %} {% block content %} Browse Topics All {% for topic in topics %} {{topic.name}} {% endfor %} {{room_count}} rooms available Create Room {% for room in rooms %} Edit De.. 2023. 2. 17. [Django] CRUD CRUD (Create, Read, Update, Delete) CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create (생성), Read (읽기), Update (갱신), Delete (삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능 (정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. home.html update와 delete가 추가된 home.html을 만든다. {% extends 'main.html' %} {% block content %} Home Template Create Room {% for room in rooms %} Edit Delete @{{room.host.username}} {{room.id}} -- {{room.nam.. 2023. 2. 17. [Django] Admin (Room) Admin Django Admin을 이용해서 관리자 사이트에 모델을 등록하고 이후 로그인하여 데이터를 추가할 수 있다. 터미널에서 다음 코드를 입력하여 슈퍼 계정을 생성한다. python manage.py createsuperuser 그 다음, http://127.0.0.1:8000/admin/에서 앞서 생성한 슈퍼 계정으로 로그인하면 관리자 페이지로 접속 가능하다. models.py from django.db import models from django.contrib.auth.models import User class Topic(models.Model): name = models.CharField(max_length = 200) def __str__(self): return self.name cla.. 2023. 2. 17. 이전 1 ··· 45 46 47 48 49 50 51 ··· 163 다음 728x90 반응형 LIST