기타 공부/탈잉 렛츠고 장고! 노트정리 13

렛츠고 장고! 나머지 공부 내용 링크

https://www.notion.so/2022-UNIS-f9dab708774843709d4e9f233d3e58fa 2022 UNIS 장고 그룹스터디: 노하은 결과물 모음 개요 www.notion.so 뒷부분의 모든 공부 내용은 UNIS의 노션 페이지에 기록하였다. 위 링크는 팀원들의 노트정리를 제외한 내 노트정리만을 모아두고, 팀원들과 함께 이룬 결과물을 추가해둔 정리페이지이다.

4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - User모델과 회원가입

User모델이란? 장고는 진짜 전설이다... 프레임워크는 원래 다 이런 건가... 별 게 다 미리 구현되어있다... 장고는 사용자 계정을 모델링한 User 모델을 제공한다. 우리가 직접 모델을 만들 필요가 없다. 사용자 정보에 필요할 기본적인 field들이 들어가있는 User라는 모델을 쓰면 된다. User 모델에는 다음의 기본 필드가 있다. username: 사용자 이름 (계정) - id일 수도 있고, 이메일을 사용해 로그인한다면 이메일일 수도 있음. password: 비밀번호 email: 이메일 계정 first_name: 이름 (주민등록상 이름) last_name: 성 근데 필드만 구현되어있는 게 아니다... ㅎㄷㄷㄷㄷㄷ 비밀번호 검증 로직, 로그아웃 로직 등의 흔히 필요한 로직들이 구현되어있어서 그..

4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - 프로젝트 세팅

웹사이트의 구성 (행사 참가 신청 사이트 플로우) 회원가입은 곧 참가 신청이고, 참가자 신분으로 로그인을 할 수가 있음. 비로그인 상태의 첫 화면에는 행사 소개 페이지가 표시됨. 여기서 로그인 또는 회원가입을 할 수 있음. 회원가입을 선택하면 참가 정보 입력 페이지를 거침. 여기서 프로필 사진도 업로드함. 로그인 상태의 첫 화면에는 행사 소개 페이지가 표시됨. 여기서는 전체 참가자 목록 확인/참가 취소/로그아웃 을 할 수 있음. 만들어야 하는 페이지는 다음의 7개이다. 상태의 행사 소개 화면(로그인/비로그인 2개의 뷰) 로그인 화면 로그아웃 화면 회원가입 화면 참가 정보 수정 화면 전체 참가자 목록 화면 참가 취소 화면 실습 내용은 노션에 정리해두었다. https://www.notion.so/unis-e..

4강 장고 인증 파트 : 해커톤 참가 신청 사이트 만들기 - 세션과 쿠키

세션과 쿠키에 대해 설명해주신 5분짜리 강의. 세션이란? 접속한 사용자의 기기에 관하여 서버가 기억하고 있어야 하는 정보가 있을 때, 그 정보를 저장하는 공간을 세션이라 한다. 사용자가 웹사이트에 로그인을 한 뒤, 그 웹사이트 내의 다른 페이지로 이동하더라도 계속해서 로그인 상태가 유지되는 것은 세션 덕분이다. 세션을 이용한 로그인 과정 클라이언트가 서버에 첫 접속을 함. 서버의 세션 상에 지금 들어온 클라이언트의 세션 ID가 없음. 따라서 새로운 세션 ID를 발급해서 세션에 기억함. 이 ID를 클라이언트 기기에 전달함. 클라이언트 기기는 전달받은 세션 ID를 저장함. 사용자가 로그인을 함. 서버가 로그인 정보와 세션 ID를 함께 기억해둠. 클라이언트가 요청을 보낼 때마다 이 ID 및 로그인 정보를 그때..

3강 장고 기본 파트 : 투표 사이트 만들기 - 템플릿

return HttpResponse() 의 괄호 안에 html 코드를 넣으면 그게 화면에 출력됨. html 코드를 미리 짜두고, 거기에 필요한 변수들을 정해둔 다음 그 변수만 장고를 통해 전달해주면 그 결과를 장고가 화면에 나타내줌. 장고가 화면에 나타내주는 것을 렌더링이라고 함. 그리고 서버 실행중일 때 Ctrl + C 누르면 서버 종료됨. html 파일 내에서 for, if 등 구문(문장)을 써넣을 때에는 {% 내용내용 %} 이렇게 씀! 그냥 변수를 쓸 때는 걍 쓰는데... 구문은 저러고 써야함 url urls.py 파일에서 url들마다 name을 지정해줄 수 있음. html 파일에서 url을 적을 때 url 그 자체를 적지 말고 urls.py에서 지정해준 name 문자열을 사용하는 것이 좋음. ht..

3강 장고 기본 파트 : 투표 사이트 만들기 - 서버 실행

저번에 만든 파이썬 프로젝트 밑에 장고 프로젝트 밑에 웹 앱을 만듦. 저번에 startproject라는 명령어를 썼는데 이번에는 startapp이라는 명령어로 만듦. python manage.py startapp votes votes라는 이름의 앱을 생성하는 커맨드. startapp manage.py라는 파일 안에 정의되어있는 명령어인 듯? 그리고 votes는 명령어 실행을 위해 넘겨주는 인자. 웹 앱의 이름만 겹치지 않는다면 한 장고 프로젝트 내에 여러 개의 웹 앱을 만들 수 있음.(startapp 명령어를 반복적으로 사용.) 서버를 실행하는 명령어 runserver runserver라는 명령어로 서버를 실행할 수 있음. python manage.py runserver url path 정의하기 웹 애플..

3강 장고 기본 파트 : 투표 사이트 만들기 - 장고 설치하기 및 구조

파이썬 기반이라서 파이썬 IDE를 설치해주어야 함. 초보자 대상 강의라서 그런지 자세한 설명은 해주시지 않았음. PIP, Vertualenv가 파이썬 개발을 돕는? 것들이라고 함. PIP를 이용해서 장고를 설치한다고 하심... 실제로 프로젝트 생성 후에 터미널 창을 열어 커맨드로 장고를 설치했음. 이 과정에 PIP가 관여하는 듯? 파이썬도 자바처럼 프로젝트 단위로 개발을 함. 파이썬 프로젝트를 새로 만들어서 엶. 그 다음에 커맨드를 이용해서 장고 프로젝트를 하나 만듦. django-admin startproject 프로젝트이름 위와 같이 입력하면 됨. 그러면 파이썬 전체 프로젝트 하위에 또 하나 폴더가 생김... 파이썬 프로젝트 'voteapp' 그 아래에 장고 프로젝트 'voteapp' 그 아래에 이 ..

2강 웹 개론 : 배경지식 - 데이터베이스의 이해

데이터베이스에 대한 기초적인 내용을 살펴보았다. 데이터베이스란? 서버에서 정보를 저장하고 관리하는 데에 쓰이는 것. SQL(쿼리)를 통해 정보를 관리하고 요청한다. 데이터베이스 관련 용어 정리 스키마: 데이터의 구조 및 데이터 사이의 관계. 서식이라고 생각하면 됨. 테이블: DB에서 데이터는 행과 열을 가진 2차원 표의 형식으로 저장됨. 각각의 표를 테이블이라 함. 컬럼: 테이블에서의 열, 즉 하나의 속성. 레코드: 테이블에서의 행, 즉 하나의 데이터 집합. 값: 테이블에서의 한 칸. 한 레코드의 하나의 속성의 값.