How to become a real programmer/Back-End(18)
-
Python - Django를 이용한 인스타그램 클론 - 7
이전에 회원가입, 로그인 과정을 만들었으니 이제 로그인하여 만든 글을 볼 수 있는 '내 프로필' 화면과 로그아웃을 만들면 될 것 같다. 우선, 이전에 세션을 통해 사용자 정보를 인식하는 것은 했으니, 프로필과 로그아웃을 만들어야 하는데. 인스타그램은 사용자 창을 누르면 프로필-로그아웃 순으로 드롭다운 방식으로 내려오는 ui를 가지고 있다. 드롭다운을 구현하는 것은 bootstrap에서 카피해 사용하면 될 것 같다. home add_box 프로필 로그아웃 프로필 게시물 팔로워 이름 새 이미지 업로드 close 새 이미지 업로드 close 공유하기 위 코드를 보면, 드롭다운 메뉴로 프로필로 갈 수 있는 부분 하나랑 로그아웃 버튼을 구현해두었는데 프로필 로그아웃 a 태그로, /user/logout으로 가게 설..
2022.11.08 -
Python - Django를 이용한 인스타그램 클론 - 6
로그인, 회원가입 창 까지 띄웠으니 이제 회원가입과 로그인을 구현할 차례이다. 우리가 html에 작성한 아래 폼을 보자, 우리가 user모델을 만들때 필요했던 이메일 주소, 성명, 닉네임, 비밀번호가 있고 유저를 생성하는데 필수적인 요소이다. 해당 폼에 작성을 해서 html으로부터 post로 view가 받아오게 되면 이를 model에 받아온 정보를 토대로 create를 해주어야 가입이 완료 될 것이다(유저모델에 맞게 정보를 기입해, 유저객체를 생성할 것이다) 그러기 위해서는 user - views.py파일에 몇 가지 추가를 해주어야한다. user- from django.shortcuts import render from rest_framework.views import APIView from models..
2022.10.02 -
Python - Django를 이용한 인스타그램 클론 - 5
피드 생성하는 것 까지는 완료했다. 이번엔 로그인 구현을 할 차례이다. 각 사용자마다 자신의 계정에 대한 피드 생성 권한을 주어야 하기 때문이다. 우선은 로그인을 위해서는 사용자 모델이 있어야 한다. 사실 우리는 먼저 웹 사이트 구현부터 했지만 장고에서는 프로젝트를 만들 때 원래 모델 먼저 만들어야 한다. 그 이유는, 개발자가 사용자 모델을 커스텀 하여 따로 만들고자 한다면 마이그레이션 이전에 해당 모델을 만들어 두고, 마이그레이션해야 적용이 되기 때문이다. 장고에서 기본적으로 만들어놓은 사용자 모델을 마이그레이션 해버리면 그 후로 커스텀 모델을 적용할 수가 없다. 디폴트로 사용되는 유저모델은 하나여야 하기 때문이다. 즉, 만들려면 db를 날리고 새로 만들어야 한다. 장고에서 기본으로 제공되는 db를 보..
2022.09.26 -
Python - Django를 이용한 인스타그램 클론 - 4
이전 단계에서는 글 작성 모달을 띄우는 부분 까지 완료하였다. 이제 작성한 폼이 공유하기 버튼을 누르면 새로운 피드로 추가되게 해야한다. 즉, 우리가 작성한 내용이 장고 내 DB에 들어가서 조회할 수 있도록 해야한다는 것이다. 그말인 즉슨 장고의 MTV패턴으로 설명해보자면 Template에서 받은 파일을 View에서 처리하여 Model 즉 DB 피드테이블의 데이터 타입에 맞게 저장하여야 한다는 말이다. 일반적으로 템플릿(웹)에서 데이터를 받는 방식으로 get방식도 있지만 ajax라는 방식도 있는데, ajax는 Asynchronous JavaScript and XML 의 줄임말으로써, ajax는 HTML의 반복적인 렌더를 방지한다. 즉, 기존 웹 어플리케이션에는 폼을 채우고 이를 제출하게 되면 처음 창을 ..
2022.09.21 -
Python - Django를 이용한 인스타그램 클론 - 3
이전 단계에서, 데이터베이스에 있는 피드데이터를 views에서 template에 넘겨주어 실제로 사이트에 접속 시 불러오는 단계 까지 했었다. 즉 조회까지는 완료한 것이다. 이제 해야할 것은 피드를 사용자가 직접 생성하는 폼을 만들어야 한다. 그리고 생성된 피드를 DB에 저장해 조회할 수 있도록 해야한다. 우리가 피드를 만드는 과정은 상단 + 버튼을 누르면 모달창이 뜨고, 해당 창에 이미지를 넣거나 내용을 작성하는 방식으로 이루어진다. 모달창은 웹 사이트 위에 뜨는 팝업 같은 거라고 생각하면 되겠다. 즉 화면에 안보이게 되어있다가 + 버튼이 누르면 표현되게 설정된 창이다. .modal_overlay{ width: 100%; height: 100%; position: absolute; left: 0; to..
2022.09.20 -
Python - Django를 이용한 인스타그램 클론 - 2
이전 단계에서 장고에서 HTML 파일을 띄우는 데 까지 했었다. 그런데 한 가지 궁금증이 있다. 왜 프로젝트 폴더 내부인 Minstagram 안에 또 Minstagram폴더를 만들어 주는 것일까. 장고는 프로젝트 내부에 앱 단위로 코드를 관리할 수 있다. 우리는 현재 Minstagram안에 Minstagram이라는 폴더를 가지고 있는데 이 Minstagram 폴더가 하나의 앱인 것이다. 그래서 이 프로젝트에서 새로운 앱을 하나 더 만들면 새로운 폴더가 생긴다. 이후 인스타그램의 Feed를 만들기 위해 content라는 앱을 만들 것인데 미리 만들어보자. 터미널을 키고, 프로젝트 경로에서 python manage.py startapp content라는 명령어를 통해서 만들 수 있다. 하지만 나는 해당 명령..
2022.09.17