Framework/Django 45

poetry 기본 명령어 모음

참고 사이트 POETRY 가상환경 설정하기 window vscode terminal에 입력 curl -sSL https://install.python-poetry.org | python 터미널에 설치된 경로 복사 새로만들기 후 경로 추가 - 저장 poetry init : pyproject.toml 생성 poetry install : poetry.lock 생성 poetry shell : 가 sw-ing.tistory.com 기본적인 용어 정리 poetry init : pyproject.toml 생성 poetry install : poetry.lock 생성 poetry shell : 가상환경 실행 poetry env list : 가상환경 실행 확인 >>> .venv (Activated) poetry add ..

Framework/Django 2023.06.07

Poetry 설치 및 기초 세팅

Poetry는 의존성 관리 및 파이썬 내 패키징을 위한 툴이다. 프로젝트가 의존하고 있는 라이브러리들을 관리(설치, 업데이트 등)해준다. 자세한 내용은 공식문서 설치 방법 osx / linux / bashonwindows은 아래 curl url을 터미널에 입력해서 설치하면 된다. Poetry bin 디렉토리에 설치되고, 유닉스에서 위치는 $HOME/.poetry/bin 이다. curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python 설치 후 shell에 환경 변수를 설정해주고, shell을 닫았다가 열면 poetry를 터미널에 쳤을 때 읽을 수 있게 된다. vi .zshrc # 파일에 아래 c..

Framework/Django 2023.06.07

데이터 관계 모델 정리

두 번의 팀 프로젝트를 통해서 느낀 것은 응용이 부족했던 점이 가장 크고, 경험이 없기 때문이 컸지만 기본기에서 가장 부족했던 것이 바로 모델 관계 정리였다. 그래서 이번엔 지난 튜터님들의 실강을 복습하면서 다시금 정리해보게 되었다. PK(Primary Key) Table에서 반드시 하나만 존재 (유일) 그래서 row의 값을 고유하게 식별 가능 대개 정수형태, 번호 혹은 유일한 값 FK(Foreign Key) 다른 테이블의 PK를 참조하는 컬럼 타 테이블 PK 데이터 확보! PK와 FK가 없을 시, 데이터가 중복되면서 불필요한 데이터들을 계속 가지게 된다. 그렇기 때문에 한 테이블 안에서 대표성을 띄고 있는 PK와 FK를 적극적으로 이용해줘야 한다. OneToOneField : 예전 카카오 프로필은 Us..

Framework/Django 2023.05.18

DRF 심화과정 4주차

요약 : 공식문서가 답이다!!!!! CHECKLIST restful한 api 설계를 할 수 있다. 미디어 파일과 스태틱 파일에 대해 이해한다. 게시글 모델과 조회/업로드를 위한 serializer를 만들 수 있다. 이미지를 포함한 게시글 기능을 개발할 수 있다. 포스트맨으로 백엔드 개발을 하면서 테스팅을 할 수 있다. drf에서 댓글 기능을 개발할 수 있다. drf에서 좋아요 기능을 개발할 수 있다. drf에서 follow 기능을 개발할 수 있다. many-to-many 관계를 설정하는 경우와 방법, 그리고 related_name의 사용방법을 이해한다. 1. RESTFUL한 API 설계 내용이 너무 많아서 일단 메인페이지를 예시로. # Urls.py from django.urls import path f..

Framework/Django 2023.04.23

DRF 심화과정 3주차

요약 : 공식문서 열심히 봐라, 토큰의 구조, 역할에 대해 확실히 이해해라. 장고의 구성에 많이 신경써라 3주차 체크리스트 1. 쿠키 세션 방식 로그인과 토큰 방식 로그인의 차이 세션방식은 모든 유저의 정보와 세션 정보를 서버에서 관리함 클라이언트에서 사용자의 인증 정보를 서버에 전달함(로그인 할 때 아이디, 비밀번호를 입력하면 그 값이 서버로 전달된다는 말) 서버는 인증을 처리한 뒤 해당 사용자에 대해 세션을 생성함 세션 정보는 서버에 저장되고 클라이언트는 세션 id를 받아 브라우저(쿠키)에 저장 클라이언트는 이후 요청에 대해 세션 id를 서버에 넘김 서버는 전달 받은 세션 id를 매치되는 저장 중인 세션 정보로 인증을 처리함 만약 세션 id가 만료되었을 경우 1번 과정부터 다시 이루어짐 토큰방식은 토..

Framework/Django 2023.04.23

장고 심화 1주차

개요 DRF(Django Restful Framework), POSTMAN, HTTP 공부 Checklist 1) 프론트엔드와 백엔드의 역할 이해 2) Request와 Method의 역할 이해 3) HTTP Header의 역할 이해 4) state, stateless의 역할 이해 5) HTTP 메세지 구조 이해 6) HTTP 상태코드 역할 이해 7) 웹 요청 흐름 이해 8) Restful한 API 설계 공부 내용 1) 프론트엔드와 백엔드의 역할 이해 웹브라우저 흐름 : DNS 조회 > HTTP 요청 메세지 작성 > socket 라이브러리 통해 전달 > TCP/IP 작성하고 이 안에 HTTP 메세지 포함 프로토콜 : 컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여..

Framework/Django 2023.04.18

VS code 오류[갑자기 가상환경이 작동하지 않는다!]

어제 다른 팀원 분에게서 받은 장고파일을 받고 저장한 다음, 오늘 다시 컴퓨터를 켜서 열어보았는데 venv 가상환경이 멀쩡하지 않은 장면을 확인했다. venv도 작동하지 않고.. 인터프리터도 파이썬이 아닌 전혀 엉뚱한 것으로 실행되고 있었다. 보통 이런 식으로 협업할 때는 파이썬의 버전이 다른 경우가 많은데, 이번이 딱 그 사유였다. 가상환경 활성화 단계와, 인터프리터 재설정 단계로 설정했다. 1. 가상환경 활성화 바로바로 생각나야 하는 source venv/Scripts/activate 여서 눌렀는데 잘 되지 않는 경우가 많다! 이럴 때는 폴더의 위치를 잘 파악해야 한다. jeball 폴더 안에 있는 프로젝트 폴더 안에 venv가 있는데, pwd를 눌러보니 jeball 폴더에서 실행하려고 한 것을 확인..

Framework/Django 2023.04.11

장고 개인 프로젝트 이전 ERD 공부

ERD(Entity Relationship Diagram) : 독립체들 간의 관계를 나타내는 도표(실체 연관도) : 실체와 이들의 관계를 도형으로 표현한 것. 실체의 상관관계 다이어그램은 사용자와 어플리케이션 개발자 간의 자료를 공통적으로 이해할 수 있도록 하는 유용한 매체가 된다.(네이버 사전) ERD를 만든다는 것은 실체를 연관도 내에서 모델링하는 것인데, 모델의 정확한 뜻이 무엇일까? 모델은 어떤 '목적'을 가지고 '진짜'를 '모방'한 것이다. 그렇다면 좋은 모델은 목적에 부합한 모방본이다. ERD는 바로 이런 면에서 부합하는 모델 중 하나라고 보여진다. 표에 정보를 담아 하나의 연관도 안에서 모든 관계(목적)을 보여주는데 와이어프레임을 한 눈에 보기 편하기 때문에 이번 장고 프로젝트에 이 모델을 ..

Framework/Django 2023.04.05

게시글 기능 만들기

이제 이 안에 게시글 기능을 만들 것이다. 게시글 하니 초창기에 만든 POST, GET 기능이 생각난다. 바로 그거를 사용해보려고 한다. 게시글 POST 게시글 내용을 서버로 가져오려고 한다. 이번에는 클라이언트부터 먼저 손을 댈 건데, 이유는 서버 작업에 필요한 정보가 클라이언트에 있기 때문이다. form의 ID값을 나중에 써먹을 것이다. 게시글에 대한 보안 처리를 역시 실행해주었다. {% csrf_token %} 작성하기 그 다음 마찬가지로 urls 부분을 채워주어야 한다. from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), path('tweet/', views.tweet, ..

Framework/Django 2023.04.04

로그인 이후 기능 다듬기 작업

로그인에는 성공했다. 그건 좋은데... 로그인을 하면 이 넓은 창에 사용자 닉네임 하나만 덩그러니 있다. 이럴거면 왜 로그인했나 싶겠지. 그래서 여기에 기능을 추가해보기로 했다. html 파일 적용 우선 코드스니펫에 있는 html파일을 templates 폴더에 넣었다. 이제 이것을 적용해야겠지. 이번에 만들 앱은 /tweets/다. 그렇기 때문에 tweet에 views.py와 urls.py를 만들고 # tweet/urls.py from django.urls import path from . import views urlpatterns = [ path('', views.home, name='home'), # 127.0.0.1:8000 과 user/views.py 폴더의 home 함수 연결 path('twe..

Framework/Django 2023.04.04