본문 바로가기
내일배움캠프

23. 내일배움캠프 - 17일차 TIL

by 새싹_v 2022. 9. 23.
728x90


TIL

📌
오늘 한 일
장고 3주차 복습 숙제 풀기
장고 블로그 작성
타임어택
장고 거북이반 시작

오늘은 원래 장고 4주차 강의를 들으려고 했다.

하지만 현재 장고를 애매하게 알고 있기 때문에 

오늘은 복습만 하자는 계획을 세웠다.

3주차 강의를 들을 때 강의를 보면 아는데 

혼자 하려 할 때는 안된다 ㅎㅎ 그래서 내가 주석 달았던 것과

강의노트를 같이 보면서 복습을 했다. 

3주차부터는 진짜 티키타카를 잘 따라가야 한다.

복습 때도 흐름! 흐름을 잘 따라가려고 했다.

확실히 처음 볼 때보다 2번 보니깐 이해가 잘 됐다.

그래도 아직 너무 부족하다.

진짜 익숙해짐과 연습을 많이 해야 할 것 같다.

복습을 하고 장고 블로그 작성을 했다.

처음엔 뭘 써야 할까 막막했다.

오늘 작성한 장고 블로그는 장고란?, 그리고 프로젝트 생성 방법

이 두 가지를 했다. 제일 공들인 곳은 프로젝트 생성 방법이다.

강의에서는 파이참을 사용해서 vscode를 사용하는 난 정말 초기 세팅이 힘들었다.

그래서 내 블로그를 보는 vscode를 사용하는 사람들이 장고 세팅할 때 도움이 됐으면 해서

최대한 쉽게 적어봤다. 

 

블로그를 작성하고 5시~6시 타임어택을 했다.

타임어택 문제는 전에 배웠던 파이썬에서 나왔다.

1, 2번 문제는 쉽게 넘어갔지만 3, 4번은 좀 어려웠다.

4번은 풀다가 시간이 없어서 다 못 풀었다. 

확실히 타임어택을 하다 보니 내가 한참 부족하다는 것을 깨닫게 되었다.

참 .... 풀이 과정을 보면 알겠는데 혼자서는 어렵다 ㅋㅋㅋㅋ

 

타임어택 하고 저녁 먹고 장고 거북이 반 수업을 했다.

이번 거북이반 수업방식은 튜터님 녹화 강의 보고 따라 하다가 막히는 부분 있으면 질문하는 방식으로 진행됐다.

강의는 vscode 장고 초기 세팅 부분과 메뉴 선정 페이지 만들기였다.

초기 세팅은 진짜 많이 했던 거라 순조롭게 할 수 있었고 조금 특별한 부분이라면

vscode에서 바로 깃허브로 push 하면서 했던 부분이 특별했다.

앱이 추가되거나 새로운 파일이 생성된다면 바로바로 깃허브에 push 하기!

 

강의를 다 듣고 과제까지 완료하고 지금 til을 쓰고 있다.

til을 다 쓰고 장고 블로그를 더 작성하고 학교 수업도 듣고 좀 할게 많다.

오늘 til은 여기까지~

 

 

remind

---장고 3주차 강의---

from django.contrib.auth.models import AbstractUser
#AbstractUser는 장고에서 사용하는 기본 유저모델
class UserModel(AbstractUser): #AbstractUser를 상속할 때 위 코드를 임포트 해줌


로그인 한 사용자만 이용 가능하게 만들기
user = request.user.is_authenticated # 로그인된 사용자가 요청하는지 검사
          if user: # 로그인이 되어있다면
                return redirect('/') # 이 페이지를 보여드림
           else: # 로그인이 되어있지 않다면
                 return render(request, 'user/signup.html') # signup페이지 보여주기


@login_required와 user = request.user.is_authenticated는
모두 로그인 한 사람들만 사용할 수 있도록 도와주는 기능


@login_Requierd 는 로그인하지 않으면 접근이 불가능하게 만드는 기능
request.user.is_authenticated는 로그인의 여부만 검증해 주는 기능


- all_tweet = TweetModel.objects.all().order_by('-created_at')
→ TweetModel을 created_at의 역순으로 불러오는 코드입니다.
타임라인은 최신 글이 가장 상단에 있기 때문에 생성된 시간의 역순으로 불러왔어요!


- return render(request, 'tweet/home.html', {'tweet': all_tweet})
→ 처음 보는 형식이지만, tweet/home.html을 화면에 띄우면서
{'tweet':all_tweet} 라는 데이터를 화면에 전달한다는 얘기예요!
읽어온 게시물을 tweet/home.html로 전달


db 테이블을 추가해주면 꼭 터미널에 아래 코드 입력하기
python manage.py makemigrations - 데이터베이스 변경을 알려주는 명령어
python manage.py migrate - 변경된 데이터베이스를 적용시켜주는 명령어


---장고 거북이 반---
-------------------------------------
가상환경을 만든 후

깃허브와 연결해주기

1. gitignore를 만들어주기 https://www.toptal.com/developers/gitignore > Django, Window, visualstudiocode 입력하면 파일이 생기는데 복사한다 > vscode로와서 .gitignore 파일 만들어서 안에 붙여 넣는다. > 추가로 이미 venv폴더를 만들었기 때문에 .gitignore파일에 들어가서 ### Django ###부분에 venv를 추가로 넣어준다.

2. 깃허브로가서 repository만든다. > 만든 후 주소를 복사한다.
터미널 아래 순서로 작성 가상환경에 들어온 상태에서
- 1) git init (깃저장소 생성)
- 2) git remote add origin 'repository주소 넣기'
- 3) git add .
- 4) git commit -m '커밋메시지'
- 5) git push origin master(or main)

위에 3~5 순서는 vscode에 파일을 깃허브에 push하는 과정
깃허브 새로만든 repository에가면 push한 파일을 볼 수 있음

---------------------------------------
.gitignore을 사용 할 땐 pip freeze로 관리해줘야 함
pip freeze > requirements.txt requirements.txt가 생성되면서 안에 설치했던 모듈들이 기록이 된다.
#새로운 모듈을 추가할 때마다 freeze 해주기!!!!!!!!!!!!!!!!!!!!!!!!!!


장고 프로젝트 생성 django-admin startproject django_tutorial .
#점을 붙이면 현재폴더에 생성
#점이 없다면 django_tutorial폴더 안에 dijango_tutorial로 만듦

 

728x90

댓글