728x90
반응형

오늘 한 일


  1. 던더 메서드 공부 끝!
  2. 장고 html 불러오는 거 오류 해결하기
  3. 이터러블과 이터레이터
  4. 쟝고 강의 (멸망 오늘 두통 때문에 집중 안 돼서 역대급으로 공부 안 한듯)
  5. 거북이 스터디

장고 오류 해결


  • 발생 오류 : html이 안 뜸 (Template Doesn’t Exist)
  • 해결
    1. 일단 Template 폴더가 같은 위치에 있어야 한다.
    2. seeting.py에 installed_apps 부분에 앱이 생길 때마다 추가해 주어야 하는데, 폴더 단위로 생각해도 된다.
    3. 수정했으면 꼭 서버 재가동하기!
    4. 편집기 닫기 전에 꼭 서버 끄기! 아니면 내가 모르는 곳에서 돌아가고 있는 서버 찾아서 끄기가 너무 힘들다. → ctrl + C로 서버 종료

오늘 새로이 알게된 점


  1. len()이 range같은 시퀀스 타입의 개수도 세주네python len() documentation

    • str 던더는 print()와 str()가 호출되었을 때 실행된다. 클래스 타입을 문자열로 출력해주는 던더라고 생각하기
    • 클래스 속성을 상속할 때는 super.함수명(인자)의 형태, 메소드를 상속할 때는 그냥 같은 이름의 메서드를 자식 클래스에 만들어준다.
    • super()로 클래스를 상속할 때, 매개 변수 자리에 self는 숨겨져있는 상태이니 굳이 또 적어줄 필요 없다. 적어줄 경우 인자를 추가로 하나 더 넘기게 되는 꼴이라 오류가 발생한다.
  • 같은 캠퍼 분들이랑 이야기한 것
    • init 메서드에 추가하고 싶은 속성이 있는데 속성 추가를 위해 새로이 생성자를 정의하면 부모 클래스의 내용을 싹 다 오버라이드하게 되면서 생성자가 비게 되는데, 그럼 처음부터 부모 클래스에 정의된 내용을 다 다시 써주어야 한다. 그런 번거로움을 줄이기 위해 오버라이드 된 거에 super로 다시 부모 클래스를 상속해오는 거 아닐까?
    Q. 그럼 항상 super를 써주어야 하나?
    • 케바케일 것 같다. 가령 부모 클래스의 내용을 쓸 일이 아예 없으면 싹 다 덮어버리고 새로 작성해야 할텐데, 그 때는 따로 super를 쓰지 않아도 될 것같다. 그리고 부모 클래스를 그대로 가져다 쓸 때도 안 써도 될 것 같다. 일종의 커스터마이징 목적으로 쓴다고 이해하면 될 거 같다.
    Q. 언제 쓸까?
    • 추상 클래스를 보통 부모 클래스로 두고 세부적으로 설정하기 위해 자식 클래스를 쓸 거 같다. 아니면 추가 옵션을 붙이거나.
  • Q. 클래스를 상속할 때 이미 부모 클래스를 상속했는데 super를 사용하는 이유?

vscode에서 django 가상환경 설정하기


  1. python -m venv venv
  2. venv \\ script \\ activate
  3. pip install django
  4. django-admin startproject 폴더명
  5. python manage.py runserver
  • 발생 오류 : pip install django부터 명령이 먹질 않았다.
  • 해결 : venv가 활성화된 상태로 명령어를 입력해야 했는데, 비활성화 상태에서 하고 있었다. 꼭 activate 하고, venv 상태 확인하고 진행할 것!
반응형

'Programming > TIL and WIL' 카테고리의 다른 글

220923, 220924 Today I Learned (TIL)  (0) 2022.09.24
220922 Today I Learned (TIL)  (1) 2022.09.23
220920 Today I Learned  (1) 2022.09.20
220919 Today I Learned (TIL)  (1) 2022.09.19
WIL  (0) 2022.09.19

+ Recent posts