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

20. 내일배움캠프 - 14일차 TIL

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


 

 

TIL

📌
오늘 한 일
장고 1주차 강의 듣기
파이썬 실강 5일차 복습
거북이 반 수업

오늘은 어제 계획했던 장고 공부를 시작했다.

스파르타 강의로 공부를 했는데 강의 초반에

파이썬 문법을 싹 한번 알려준다.

문법을 들으면서 다시 한번 복습하게 되는 계기였다.

1주차 끝쯤 장고를 시작하는데 강의에서는 파이참을 사용했다.

나는 파이참보다 vscode를 선호하기 때문에 vscode로 실습을 시작했다.

강의에서 파이참으로 하는 이유가 있었다. 

파이참은 초기 세팅을 알아서 다 해줘서 쉽게 사용할 수 있지만

vscode는 설정을 스스로 해줘야 한다.

vscode 초기 세팅하는 것 때문에 시간을 많이 잡아먹었다.

튜터님께도 물어보고 다른 사람들한테도 물어보며 해결했다.

초기 세팅을 마치고 실습을 따라 해 봤다. 

아니나 다를까 또 오류가 발생했다.

장고 서버 실행하고 홈페이지 주소를 클릭했을 때

페이지를 찾을 수 없습니다. 이런 식으로 떴다.

혼자 구글링 하다가 해결하지 못하고 튜터님께 여쭤봤다.

튜터님도 확인해보시고 오타 있나 없나 보시고 전부 확인했는데도 

오류난 곳이 없었다. 그런데 딱 하나 오류가 있었다.

settings.py 에 INSTALLED_APPS에 내가 생성한 프로젝트를 넣어야 했었다.

ex) 'mySpartaSns2' 이런 식으로 

이걸 추가로 입력하니 정상적으로 페이지가 나왔다.

처음 하는 거라 이게 어떻게 작동하는지 알지 못하고 

바로 따라치며 실습을 하다 보니 이런 문제들이 발생한 것 같다.

 

이렇게 장고 1주차가 끝나고 파이썬 5일차 복습을 했다.

복습을 하고 지금 거북이 반 수업을 듣는다.

확실히 거북이반 수업이 도움이 많이 된다. 앞으로 계속 듣고 싶다.

 

원래 장고 공부를 하고 파이썬 복습하고 파이썬 과제를 하려고 했는데

장고에서 시간을 너무 잡아먹은 관계로 과제는 내일로 미뤄야 할 것 같다.

📌 
내일 할 일
장고 강의 듣기
파이썬 과제 다시 한번 풀어보기
거북이 반 수업

 

 

remind

Django
- M(Model)
데이터베이스의 모델(ORM)
저장되고 사용되는 데이터의 형태
ORM이란?
(Django의 ORM은 python으로 데이터베이스 클래스 모델을 만들고,
만든 모델을 바탕으로 자동으로 데이터베이스를 다룰 수 있도록 도와줌)

- T(Template)
사용자에게 보여주는 부분 화면

- V(View)
실질적으로 프로그램이 동작하는 부분
url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳

장고 세팅 시 주의❗
프로젝트 생성할 때 venv 가상환경 안에 들어가서 생성해야 한다.
앱을 만들경우
settings.py에 들어가서 INSTALLED_APPS에 만든 앱 이름을 넣어줘야 함

프로젝트 생성
dijango-admin startproject 프로젝트이름

장고 서버 실행
python manage.py runserver

가상환경 설치
터미널에서 > python -m venv venv

가상환경 실행
window 기준 - venv/Scripts/activate
mac 기준 - venv/bin/activate
터미널 옆에 (venv)가 생긴다면 성공

가상환경 나가고 싶을 때
deactivate

패키지 설치(주의❗ 가상환경을 실행시킨 후 설치)
pip install django

패키지 설치 확인
pip list


---파이썬---
try: #try 구문 안에서 에러가 발생할 경우 except로 넘어감

except: #에러가 발생했을 때 처리
except ValueError: # int로 변환하는 과정에서 에러가 발생했을 때
except ZeroDivisionError: #0으로 나누면서 에러가 발생했을 때
except Exception as e: #위에서 정의하지 않은 에러가 발생했을 때(권장하지 않음)

stacktrace
- 에러가 발생했을 때 에러가 발생 한 위치를 찾아내기 위해 호출된 함수의 목록을
보여주고 개발자는 stacktrace를 따라가며 에러가 발생한 위치를 추적할 수 있다.

축약식(Comprehension)
for i in range(10):
    print(i)
아래랑 같은 코드
numbers = [x for x in range(10)]   #리스트 축약식

lambda
주로 map/filter/sort 함수와 함께 사용
-map
함수와 리스트를 인자로 받아 리스트의 요소들로 함수를 호출
-filter
map과 유사한 구조 조건이 참인 경우 저장
-sort
리스트를 순서대로 정렬


---거북이반---
class
class 안에는 속성과 메소드가 있다.
class : 붕어빵 틀
인스턴스 : 붕어빵

class Peson:
    name = '새싹'
    gender = 'man'
    age = 20

person1 = Person()  #인스턴스를 만듦(인스턴스는 붕어빵)
print(person1.name) # 새싹

 

 

 

 

 

 

728x90

댓글