본문 바로가기

Web

(17)
[배포] WSGI, uWSGI aws로 django와 react로 만든 웹 사이트를 배포하려고 하는데 uwsgi 부분이 잘 와닿지 않음 uWSGI는 웹 애플리케이션을 위한 서버 게이트웨이 인터페이스(WSGI) 서버Python 웹 애플리케이션과 웹 서버(Nginx, Apache, ...) 사이의 중간 계층 역할을 함 WSGI(Web Server Gateway Interface): 웹 서버(Nginx, Apache, ...)와 웹 애플리케이션(Django, Flask, ...) 사이에서 데이터를 주고받기 위한 표준 인터페이스 > ChatGPT의 비유에 의하면..웹 서버: 레스토랑의 웨이터로 손님(웹 브라우저)로부터 주문을 받아 주방(웹 애플리케이션으로 전달)웹 애플리케이션: 레스토랑의 주방으로 주문받은 음식을 준비해서 웨이터에게 돌려줌W..
[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..
[배포] React, Django 배포 - 프레임워크, 동작 과정 정리 프론트엔드 react, 백엔드 django 로 개발한 웹사이트를 배포하려고 함Reactnpm run build 하면 디렉토리 내 build 폴더가 생성되고, 배포 버전 파일들이 만들어짐 Nginx:HTTP 및 리버스 프록시 서버, 메일 프록시 서버 및 일반 TCP/UDP 프록시 서버- 웹 서버(web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램- 주된 기능은 웹 페이지를 클라이언트에게 전달하는 것WSGI(Web Server Gateway Interface): 웹 서버와 웹 애플리케이션의 인터페이스를 위한 파이썬 프레임워크- WSGI 요청을 처리하려면 서버단에서 환경정보와 콜백함수를 애플리케이션단에 제공해야..
[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와 연결하고 데이터를 가..