본문 바로가기

Web/Django

(7)
[Django] Django, PostgreSQL 연동하기 1. PostgreSQL 설치    본인 OS 환경에 맞게 postgresql 설치 2. DBeaver 설치 (DB를 더 편하게 보기 위한 도구, Option)DBeaver는 SQL 클라이언트이자 데이터베이스 관리 도구 이런 식으로 관계도도 볼 수 있고 데이터도 볼 수 있고사용자 권한도 확인 가능             3. postgres 쉘 접속DB, USER, PASSWORD 생성 후 USER에 권한 부여  4. Django 프로젝트 설정# 프로젝트 settings 파일DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': '', 'USER': '', 'PASSW..
[Django, React] 로그인, 회원가입 연동 (2) 회원가입에서는 토큰을 생성하지 않고 걍 입력받은 유저 정보만 장고로 넘겨줌 React의 signup.js const data = { username, password }; try { await Axios.post("http://localhost:8000/accounts/signup/", data); notification.open({ message: "회원가입 성공", description: "로그인 페이지로 이동합니다.", icon: , }); 로그인 시 토큰 생성 React의 login.js const onFinish = (values) => { async function fn() { const { username, password } = values; #form에서 받아온 입력값 const data..
[Django, React] 로그인, 회원가입 연동 (1) simplejwt를 사용했는데 어떻게 인증되는 건지 궁금함 내 프로젝트의 views.py from django.contrib.auth import get_user_model from django.shortcuts import render from rest_framework.permissions import AllowAny from rest_framework.generics import CreateAPIView from .serializers import SignupSerializer class SignupView(CreateAPIView): model = get_user_model() serializer_class = SignupSerializer permission_classes = [AllowAny]..
[Django] JWT 인증 JSON Web Token(JWT)은 토큰 기반 인증에 사용할 수 있는 상당히 새로운 표준이다. 내장된 TokenAuthentication 체계와 달리, JWT 인증은 토큰을 검증하기 위해 데이터베이스를 사용할 필요가 없다. JWT 인증 패키지는 플러그 가능한 토큰 블랙리스트 앱뿐만 아니라 일부 기능을 제공하는 djangorestframework-simplejwt이다. Simple JWT는 Django RESTFramework를 위한 JSON 웹 토큰 인증 백엔드를 제공한다. settings.py에 추가 REST_FRAMEWORK = { ... 'DEFAULT_AUTHENTICATION_CLASSES': ( ... 'rest_framework_simplejwt.authentication.JWTAuthen..
[Django] Rest Framework란, serializer, view 등 장고 Rest 프레임워크는 웹 API를 구축하기 위한 강력하고 유연한 도구이다. Serializers 시리얼라이저를 사용하면 querysets나 모델 인스턴스와 같은 복잡한 데이터를 기본 파이썬 데이터 유형으로 변환한 다음 JSON, XML 또는 다른 콘텐츠 유형으로 쉽게 렌더링할 수 있다. 시리얼라이저는 또한 병렬화를 제공하여 들어오는 데이터를 먼저 확인한 후 구문 분석된 데이터를 복잡한 유형으로 다시 변환할 수 있다. Queryset? 쿼리셋은 전달받은 모델의 객체 목록으로 데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬을 할 수 있다. ModelSerializer : 장고 모델 정의에 밀접하게 매핑되는 시리얼라이저 클래스 class AccountSerializer(serializers.Mode..
[Django] 앱 생성, 동작 flow 프로젝트 vs 앱 앱: 블로그 시스템, 공개 기록 데이터베이스 또는 소규모 의견조사 앱과 같은 작업을 수행하는 웹 애플리케이션 프로젝트: 특정 웹 사이트에 대한 구성 및 앱의 모음 한 프로젝트 내 여러 개 앱 포함 가능 python manage.py startapp / __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py 동작 flow 1. 웹 브라우저에서 이벤트 발생 2. URL Dispatcher에서 요청한 URL 분석해 적합한 View로 보내준다. 3. View는 사용자의 요청을 받아 Database 어디에 접근해서 어떤 데이터를 가공할 지 알려준다. 4. Model에서 Database와 연결하고 데이터를 가..
[Django] 프로젝트 시작 시 생성되는 파일들 django-admin startproject mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py manage.py: 프로젝트와 다양한 방법으로 상호작용하는 커맨드라인의 유틸리티 __init__.py: python이 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 빈 파일 python 3.3 버전부터는 이 파일이 없어도 되는데 하위 버전 호환을 위해 생성하는 것이 안전 settings.py: 프로젝트 환경 및 구성 저장 urls.py: URL 선언 저장, 사이트의 "목차" 개념 asgi.py: 프로젝트를 서비스하기 위한 ASGI 호환 웹 서버의 진입점 wsgi.py: 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점