๋ฐ์ํ ๐ฅWeb/๐ฅDjango9 [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 9 pagination, response data useEffect ๋ํ๋์ ํ์ฉํ์ฌ ํ ์ด๋ธ ๋งตํ + ๋ ๋๋ง ํ ์ด๋ธ์ ๋ถ๋ฌ์ค๋๋์์ ๋ณด์ฌ์ค ๋ก๋ฉ, ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์์๋์ ์์๋ ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ค tbody๋ฑ์ ์ถ๊ฐ, ์์ ํฉ๋๋ค. Home.js import React, { useState, useEffect } from 'react'; import axios from 'axios'; import '../pages_css/Home.css'; import BoardModal from './BoardModal'; import Paging from '../utils/Paging'; const Home = () => { // Modal const [modal_is_open, setModalIsOpen] = useSta.. 2021. 11. 27. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 8 react-modal ์ค์น, ajax ์๋ต ์ฑ๊ณต/์คํจ ํธ๋ค๋ง, ๋ฐฑ์๋ ์๋ก์ด model ์์ฑํ์ฌ insert react์์ ์ธ์ํธ ํ ์ ์๋ ๋ชจ๋ฌํ๋ฉด์ ์ ์ํ๊ณ ์๋ต์ ๋ฐ๋ผ ํธ๋ค๋ง ํ๊ฒ ์ต๋๋ค. ์ผ๋จ npm install react-modal์ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ๋ด๋ ค๋ฐ์ต๋๋ค. Home.js import React, { useState } from 'react'; import '../pages_css/Home.css'; import BoardModal from './BoardModal'; const Home = () => { const [modal_is_open, setModalIsOpen] = useState(false); return ( Home setModalIsOpen(true)}> NEW ); }.. 2021. 11. 26. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 7 psycopg2 ์ค์น, postgresql DB ์ฐ๋, core ์ฑ ์์ฑ, migrations ๊ด๋ฆฌ, models ์ ์, model object์ query, ํฐ๋ฏธ๋์์ http ์์ฒญ๋ณด๋ด๊ธฐ psycopg2 Psycopg๋ Python ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฉ์ผ๋ก ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ํฐ์ ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ Phyton DB API2.0 ์ฌ์์ ์์ ํ ๊ตฌํ๊ณผ ์ค๋ ๋ ์์ ์ฑ(์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋์ผํ ์ฐ๊ฒฐ์ ๊ณต์ ํ ์ ์์)์ ๋๋ค. ๊ทธ๊ฒ์ ๋ง์ ์ปค์๋ฅผ ์์ฑ ๋ฐ ํ๊ดดํ๊ณ ๋ง์ ์์ ๋์ "INSERT" ๋๋ "UPDATE"๋ฅผ ๋ง๋๋ ๋ค์ค ์ค๋ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํด ์ค๊ณ๋์์ต๋๋ค. ํด๋ผ์ด์ธํธ ์ธก ๋ฐ ์๋ฒ ์ธก ์ปค์, ๋น๋๊ธฐ ํต์ ๋ฐ ์๋ฆผ, "COPY TO/COPT FROM" ์ง์์ด ํน์ง์ ๋.. 2021. 11. 25. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 6 PostgresSql Database ์์ฑ, Sequence ์์ฑ, Table ์์ฑ ์ํฌ์คํ์ด์ค๋ DBeaver์ ์ฌ์ฉํ์์ต๋๋ค. DBeaver๊ฐ ์ค์น์๋์ ์๋ ๋ถ๋ค์ ์ค์นํ์๋ฉด ๋๊ฒ ์ต๋๋ค. ๊ตฌ๊ธ๋ง ํ๋ฉด ๊ธ๋ฐฉ๋์ต๋๋ค. ๋งจ์ผ์ชฝ ์ ์๋จ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํด๋ฆญํ์ฌ์ค๋๋ค. ํฌ์คํธ๊ทธ๋ ์ค์์คํ์์ ํด๋ฆญํฉ๋๋ค. ํจ์ค์๋๋ postgres๋ก ํ์๋ฉด ๋ ๊ฒ๊ฐ์ต๋๋ค. ์์ฑ์ด ๋์์ต๋๋ค. ์ ๋ ์ด๋ฏธ 1๊ฐ๊ฐ ์ด๋ฏธ ๊ฐ์์ด๋ฆ์ผ๋ก ์์ด์ postgres 2๋ก ์ด๋ฆ์ด ์ ํด์ก์ต๋๋ค. SQL ํธ์ง๊ธฐ๋ฅผ ์ด์ด์ค๋๋ค. ์ฟผ๋ฆฌ๋ฌธ์ ์คํํฉ๋๋ค. ์ปค์๋ฅผ ๋ฌธ์ฅ์์ ์ฌ๋ ค์ฃผ๊ณ ctrl + enterํด์ ์คํํ ์ ์์ต๋๋ค. ์ํ์ค ์์ฑ, ํ ์ด๋ธ์ ์์ฑํ๊ธฐ๋๋ฌธ์ 2๋ฒ ์ง์ํด์ผ ํฉ๋๋ค. CREATE SEQUENCE seq_board START 1; .. 2021. 11. 24. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 5 djangorestframework ์ค์น, REST API ํธ์ถ, useState์ uesEffect ์ฌ์ฉ, CORS ์ดํด, django-cors-headers ์ค์น, ์๋จ๊ฐ์ ํต์ DjangoRestFramework ์น API๋ฅผ ๊ตฌ์คํ๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ ํดํท OAuth1a ๋ฐ OAuth2์ฉ ํจํค์ง๋ฅผ ํฌํจํ ์ธ์ฆ ์ ์ฑ ORM ๋ฐ ๋นORM ๋ฐ์ดํฐ์์ค๋ฅผ ๋ชจ๋ ์ง์ํ๋ ์ง๋ ฌํ ์ฐ์ pip install djangorestframework ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํจํค์ง๋ฅผ ๋ฐ์์ค๋๋ค. pip freeze ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํจํค์ง์ ๋ฒ์ ์ ํ์ธํ ์ ์์ต๋๋ค. python3 manage.py runserver ๋ช ๋ น์ด ์คํ์ python manage.py migrate ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฉ์ด ์๋ ๋ง์ด๊ทธ๋ ์ด์ ํญ๋ชฉ.. 2021. 11. 23. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 4 React-router-dom ์ค์น, root ํ๊ทธ ๋ ๋, Route ์ง์ , SPA๊ตฌ์ฑ, ์ฌ์ด๋๋ฐ ์ ์ SPA(Single Page Application) : ์คํ ์๋ฒ๋ก๋ถํฐ ์์ ํ ์๋ก์ด ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค์ง ์๊ณ ํ์ฌ์ ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ๋ค์ ์์ฑํจ์ผ๋ก์จ ์ฌ์ฉ์์ ์ํตํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์น์ฌ์ดํธ ๋์ ์ผ๋ก ๋ค์ ์์ฑํจ์ผ๋ก์จ ์ฐ์๋๋ ํ์ด์ง๋ค ๊ฐ์ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ญ์ ๋ง์์ฃผ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ฒ๋ผ ๋์ํ๋๋ก ๋ง๋ค์ด์ค react-router-dom ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ React Router๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐ์ธ๋ฉ์ด ํฌํจ๋์ด์์ React์ ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๋ด์ฅ๋์ด ์์ง ์์์ผ๋ก react-router-dom๋ฅผ ์ถ๊ฐํด์ผํฉ๋๋ค. ๊ฐ๋จํ๊ฒ SPA๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. router๊ฐ ๋ค.. 2021. 11. 23. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 3 python venv ์์ฑ, pip๋ก django ์ค์น, venv ํ์ฑํ, Django server ๊ตฌ๋ Django ํ์ด์ฌ์ผ๋ก ์์ฑ๋ ์คํ ์์ค ์น ํ๋ ์์ํฌ ๊ณ ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ ์น์ฌ์ดํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์์ด์ ์๊ณ ๋ฅผ ๋๋ ๊ฒ์ด ์ฅ๊ณ ์ ์ฃผ๋ ๋ชฉํ์ด๋ค. ์ฅ๊ณ ๋ ์ปดํฌ๋ํธ์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ํ๋ฌ๊ทธ์ธํ ๊ฐ๋ฅ์ฑ, ๋น ๋ฅธ ๊ฐ๋ฐ ๋ฑ์ ๊ฐ์กฐํ๊ณ ์๋ค. ์ฐ์ ์ ์ผ๋ก ํ์ด์ฌ์ ๋ฒ์ ์ ํ์ธํฉ๋๋ค. ์ค์น๊ฐ ์๋์ด ์๋ ๊ฒฝ์ฐ python.org(pip3 ํด๋ ํจ๊ป)์์ ํ์ด์ฌ3๋ฅผ ์ฝ๊ฒ ์ค์นํ ์ ์์ต๋๋ค. ๋ฐ๋ก ๋ถ๋ฆฌํ๋๊ฒ์ด ์ข๊ฒ ์ง๋ง anonymous_blog๊ฐ ํฌํจ๋ ๊ฐ์ ์ํฌ์คํ์ด์ค์ ๋ง๋ค๋๋ก ํ๊ฒ ์ต๋๋ค. python3 ๊ฐ์ํ๊ฒฝ์ ์์ฑํฉ๋๋ค. python3 -m venv [๊ฐ์ํ๊ฒฝ ์ด๋ฆ] ์์ฑ๋ ๊ฐ์ํ๊ฒฝ ๋๋ ํฐ๋ฆฌ ์์ผ๋ก ์ด๋ํ๋ฉด.. 2021. 11. 23. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 2 Node.js ์ค์น, React Project ์์ฑ, Node.js์ Runtime์์ React Project ๊ตฌ๋ Node.js Node.js๋ฅผ ์ค์นํ๋ ์ด์ ๋ Javascript์ ๋ฐํ์ ๊ตฌ๋ํ๊ธฐ ์ํด์ ์ ๋๋ค. V8(์๋ฐ์คํฌ๋ฆฝํธ ์์ง)์ผ๋ก ๋น๋๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์์ด๋ค. Node.js๋ ๋ฐ์ํ ์น React๋ฟ ์๋๋ผ Vue, Angular ๋ฑ ์์ ํ๋ฐํ๊ฒ ์งํ๋๋ค. V8 ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋๋๋ฐ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ ์คํ ์์ค ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ๊ตฌ๊ธ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ ์๋๋ก์ด๋ ๋ธ๋ผ์ฐ์ ์ ํ์ฌ๋์ด ์๋ค. V8์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผํ๊ณ ์คํํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ์ฐ์ VSCode์์ ํฐ๋ฏธ๋์ ๋ณผ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค. VSCode ํ๋จ์ ์ฐฝ์ด ์๊น๋๋ค. ์ฐ์ธก์ zsh์ ์ฌ์ฉํฉ๋๋ค.. 2021. 11. 23. [Django] ์ด๊ธ React + Django ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ ๋ง๋ค๊ธฐ 1 ๊ฐ๋จํ ์ต๋ช ๋ธ๋ก๊ทธ์ ๋ํ์ฌ ์ฌ์ฉํ ์ธ์ด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ Javascript Runtime Environment : node.js Javascript Package Manager : npm Frontend Framework : React Forntend Language : Javascript Web Application configuration: SPA Backend Framework : Django Backend Language : python Database : PostgreSql Algorithm : SHA256 ํ๋ก์ ํธ ๊ธฐ๋ฅ ์ต๋ช ๊ธ/๋๊ธ ์ฐ๊ธฐ, ์์ , ์ญ์ ์กฐํ ๊ตฌ์ถ Frontend Backend DB ๋ธ๋ก๊ทธ ์์ ๋ฐ ์ฑ๊ณผ Node.js ์ค์น, React ํ๋ก์ ํธ ์์ฑ, Node.js ๋ฐํ์์์ R.. 2021. 11. 23. ์ด์ 1 ๋ค์ ๋ฐ์ํ