[TIL #13] Django 입문

안떽왕·2023년 4월 4일
1

Today I Learned

목록 보기
13/76

장고

처음으로 장고를 시작하게되었습니다. 첫 프레임워크는 본캠프에 진입하기 전 플라스크를 써봤었는데 이번 캠프에서 가장 중점으로 다루는 주제 중 하나인 장고는 어떤 프레임워크고 어떤 기능들이 있는지 알아보고자 합니다.

장고의 특징

  • 거대한 프레임워크

  • 많은 유틸(기능)들이 이미 만들어져 있음

  • DB, 로그인, Admin, 패스워드 암호화 등 제공

  • 커뮤니티와 문서가 잘 되어있는 편

장고의 MVT패턴

  • M (Model)
    • 데이터베이스의 모델 (ORM)
    • 저장되고 사용되는 데이터의 형태
  • T (Template)
    • 사용자에게 보여지는 부분
    • 화면
  • V (View)
    • 실질적으로 프로그램이 동작하는 부분
    • url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳

프로젝트 구조 생성

$ django-admin startapp user
$ django-admin startapp tweet

장고 프로젝트를 생성하고 다음과 같은 명령어를 입력하면 usertweet이라는 폴더가 생깁니다.

이렇게 만들어진 apps들은 장고가 알 수 있게 settings.py에 가서 INSTALLED_APPS를 찾아 다음 맨 밑과 같이 입력해주어야 합니다.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'tweet',
    'user',
]

admin 기능

장고는 기본적으로 admin(관리자)기능을 포함하고 있습니다.

터미널에서 python manage.py createsuperuser를 입력하면 이름, 패스워드, 이메일을 입력하고 관리자 계정을 상성할 수 있습니다.

이제 관리자 페이지에 접속해 로그인하면 관리자로 로그인 할 수 있습니다. 참고로 장고는 기본으로 8000번포트를 사용하고 있고 프로젝트 생성시에 /admin api가 자동으로 만들어져 있으니 http://127.0.0.1:8000/admin을 입력해주면 접속할 수 있습니다.

후기

장고 너무 어렵습니다.. 사실 장고 자체가 어렵다기 보다는 오류가 엄청뜨네요.. vscode와 파이참을 몇번이나 오갔는지 모르겠고 강의도 몇번이나 돌려봤는지 모르겠습니다.

나왔던 오류

  1. 8000번 주소는 되는데 다음으로 만든 test api는 not found 404
  2. test api는 먹히는데 8000번 주소는 not found 404
  3. 파이참에서 정상작동하는데 확인되지 않는 참조라고 나옴

3번이 특히나 문제인게 분명히 기능이 정상작동하는 걸 보면 장고는 제대로 설치되어 있는게 맞는데 장고와 관련된 모든 import가 확인되지 않는 참조라고 붉은 밑줄이 그어집니다.

실행하고 사이트확인하는데에는 아무 지장이 없지만 자동완성기능이 없어지니 불편하고 무엇보다 문제항목에 계속 나와있으니 신경거슬립니다..

장고재설치, 새로운 프로젝트 재생성, 폴더 위치 변경, 파이썬 인터프리터 경로 확인, 재부팅, 재실행 등 여러 방법을 강구해보았습니다만... 아직 수정하지 못했습니다.

그리고 오늘 장고를 조금 배워보며 한가지 알게된 점은 제가 웹개발쪽은 하나도 모른다는 것이였습니다. 저번에 진행했던 텍스트게임이나 알고리즘은 알고있는 파이썬 내장함수 안에서 해결하는 문제여서 그런지 곧잘 활용하고 생각도 잘나고 원리도 다 알고 코드를 읽고 해석하는 것도 전혀 무리가 없었는데 저저번 프로젝트와 이번 장고를 배우면서 웹개발 쪽으로는 아는게 하나도 없다는 생각을 하게 되었습니다.

남들보다 뒤쳐지지않도록 팀원들에게 민폐끼치지 않도록 웹개발과 관련된 공부를 좀 더 해나가야겠습니다.

profile
이제 막 개발 배우는 코린이

0개의 댓글