본문 바로가기

분류 전체보기

(103)
[TIL 2024. 04. 12] GET과 POST | 장고 모델 폼 사용하기 GET과 POST http 통신에서는 method로 GET요청과 POST요청만이 허용된다. (DELETE 등은 허용 안됨) 지금까지 GET은 내용을 조회하는데 사용되고, POST는 input으로 받은 내용을 서버 등으로 보내는데 사용된다고 단순화 해서만 알고 있었다. django 프로젝트 중에 GET과 POST의 차이가 중요해서 이 두 가지를 정리해보려고 한다 GET요청 html에서의 a태그, 브라우저창에서 url로 직접 검색하는 경우 QueryString방식을 사용 QueryStirng방식에서 전달하는 데이터는 url에 포함된다. 따라서 header와 body중에 url이 포함되는 header에 전송대상인 데이터가 담기게 된다 따라서, 전송대상 데이터가 body에 포함되는 POST방식에 비해서는 상대적..
[TIL 2024. 04. 11] Django 프로젝트 순서 정리 장고 기초 강의를 들으면서 코드를 작성해보는데, 앱별로 분리한 이후의 흐름이 정리가 안되고 헷갈리는 느낌이다. 그래서 가상환경 생성부터 일련의 과정을 쭉- 정리해보기로 했다. Django 프로젝트 순서 정리 (0. 파이썬 설치) 1. 가상환경 생성 더보기 python -m venv .venv 2. 가상환경 활성화 더보기 source .venv/Scripts/activate 3. 장고(django) 설치 더보기 pip install django==4.2 pip list 4. 의존성 파일 생성 더보기 pip freeze > requirements.txt pip install -r requirements.txt (#만들어진 requirements.txt 읽어오기) 5. 프로젝트 생성 더보기 django-adm..
[TIL 2024. 04. 09] MTV Pattern | DTL 문법 | 상속 MTV Pattern 파이썬 웹 프레임워크인 장고(Django)에서 사용된 '디자인 패턴'은 'MTV 패턴'이다. MTV 패턴은 기존의 MVC패턴을 살짝 변형한 것이므로, MVC에 대해서 명확히 알고 가는게 좋다 MVC는 Model, View, Controller의 3파트로 구성되어 있다. 이 패턴은 하나의 큰 소프트웨어를 부분으로 나눠서 생각해보기 위해 등장했다. 이렇게 큰 하나의 소프트웨어를 부분으로 나눠서 생각하면 다음과 같은 장점이 있다. 개발의 생산성 증가: 다수가 각 기능을 분담할 수 있으므로 동시에 독립적으로 각 부분을 개발할 수 있다 유지보수가 용이함: 문제가 생길 시 해당 부분만 디버기하면 된다 MVC Model: 데이터 관련 처리 View: 레이아웃 관련 처리 (보이는 것) Contro..
[TIL 2024. 04. 08] Django 기초세팅 | strip() | l로 만들기 Django 기초세팅 지금은 여러 프로젝트를 하는 것이 아니니, 사실 가상환경 없이 전역환경에서 pip install을 진행해도 상관은 없다. 하지만 이후에 여러 프로젝트를 진행하게 되는 경우를 생각한다면 지금부터 가상환경 내에서 연습을 해보는 것이 좋을 같아서 가상환경 생성부터 세팅을 시작했다. 1. 가상환경 생성 python -m venv .venv 강의에서는 venv라는 가상환경을 만들었다. 하지만 나는 .venv가 익숙하기도 하고, 해당 명령어를 제대로 이해하기도 편한 것 같아서 .venv라는 이름으로 폴더를 만들어서 가상환경을 생성해주었다. 2. 가상환경 활성화 source .venv/Scripts/activate 위의 명령어는 윈도우에서 가상환경 활성화를 사용한다. 윈도우에서는 .venv폴더(..
[TIL 2024. 04. 05] git 명령어 정리 | html form 태그 git 명령어 정리 이번 프로젝트를 진행하면서 git 사용법을 정확히 숙지해야 할 필요성을 많이 느꼈다 다음 프로젝트에서도 git은 틀림없이 사용하게 될테니, 그때 잊은 내용들을 찾아볼 수 있게 이번에 많이 쓴 git 명령어들을 정리해보기로 했다 1. vscode git switch -c "새로운 로컬 브랜치명" git status git branch git add . git commit -m "커밋메시지" 이번 프로젝트에서는 로컬 브랜치에서 push한 후, 깃허브 사이트에서 바로 pr하지 않았다. 팀원 각자가 자신의 이름과 같은 로컬 브랜치를 생성한 후 거기서 각자 작업을 진행했고, git push까지만 각자 반복해서 진행했다. 즉, 팀원들은 각자의 로컬 브랜치에서(이번에는 자신의 이름명 기반으로 로컬..
[TIL 2024. 04. 04] 댓글 수정 토글 오류 이 글은 아래의 글과 이어진다. [TIL 2024. 04. 03] 게시물 수정,삭제 | 댓글 수정, 삭제 Team-8 project: python, flask, SQLAlchemy, javascript를 사용하고 있다 -> javascript는 웹종 강의에서 사용한 기본적인 코드만을 사용함 게시물 수정 1. 게시물 수정의 로직이 꼬임 문제상황: 처음에는 게시물 oneday180.tistory.com 페이지 내에서 토글로 댓글 수정을 가능하게 했다고 생각했는데, 웹 내에서 테스트 해보다 보니 오류가 있다는 것을 알게 됐다. 그건 바로 여러 개의 댓글이 작성되어 있는 경우에 제일 처음의 댓글을 토글이 잘 작동하는데, 그 이후의 댓글들은 '수정'버튼을 눌러도 토글이 제대로 작동하지 않는다는 것이었다. 코드 수..
[TIL 2024. 04. 03] 게시물 수정,삭제 | 댓글 수정, 삭제 Team-8 project: python, flask, SQLAlchemy, javascript를 사용하고 있다 -> javascript는 웹종 강의에서 사용한 기본적인 코드만을 사용함 게시물 수정 1. 게시물 수정의 로직이 꼬임 문제상황: 처음에는 게시물 수정을 새로운 html을 만들어서 할 건지 아니면 기존의 게시물 작성.html을 활용할 것인지도 결정을 하지 못했다. 그러다보니 자연스레 app.py와 update_post()의 로직도 꼬여버리는 문제가 발생했다 해결의 실마리: 게시물 수정시에는 기존에 게시물 작성에서 받았던 입력폼 그대로에 db에 저장되어 있는 내용이 각 입력칸에 들어가 있어야 했다. 따라서 게시물 작성.html을 최대한 활용하되, 게시물 작성.html에 게시물 수정까지 구현하는 것..
[TIL 2024. 04. 02] git pull | 게시글 작성.html을 db에 저장하기 git pull 이전에 git 강의에서는 로컬 브랜치에서 add, commit, push한 후에 깃허브 사이트에서 pr을 하며 바로바로 main에 merge하는 방식을 배웠다. 근데 이번에 진행하고 있는 프로젝트 팀에서는 각자 자기 이름의 로컬 브랜치를 파고, 거기서 add, commit, push까지만 하고 다시 수정을 진행하고 add, commit, push를 반복하는 방식을 채택하고 있다. 즉, main브랜치와의 pr과 merge를 가장 마지막에 하기로 한 것이다. 이런 방식은 처음이라 다른 팀원분이 push하신 커밋을 로컬 브랜치에 pull해와야 하는데, 이 과정이 원활하지 않아서 오늘 다들 고생을 했다..ㅎㅎ 구체적으로는 내가 db를 담당해서 DB_app.py라는 파일이 app.py와 별도로 있..