백엔드/django

[SGC]05_학사관리프로그램 만들기-I

묘걍 2024. 1. 30. 19:53

👉🏻 웹 어플리케이션 설계

출처: SEOUL G-캠프 유튜브

  • 학생 등록, 학생 리스트 보기, 학생 정보 수정, 학생 정보 삭제 기능(페이지)
  • 각각의 URL과 실행될 함수, 사용자에게 응답해줄 템플릿...

✅ redirection

  • 학생 정보 등록
    • 등록 화면은 사용자가 볼 수 있음
    • 등록된 데이터를 DB에 넣는 작업 등은 사용자가 볼 수 없다
    • 서버에서처리를 한 뒤 결과만 사용자에게 보여줌
  • regConStudent() 함수가 실행된 후에는 사용자에게 바로 응답해주는 것이 아니고 /student/all(학생 전체보기)로 redirection한다
    그러면 reaStudentAll() 함수가 실행되고 readStudent.html이 사용자에게 보여진다

강사님은 redirection에서 화살표가 뻗어 나가지 않고 함수에서 url로 이어서 설명해주셨음

 

  • 학생 수정
    • /students/<str.s_name>/mod로 들어와
    • reaStudentOne() 함수 실행
    • modifyStudent.html이 보여짐 - 여기서 수정하면
    • modConStudent() 함수 실행 후, 여기서 바로 사용자에게 응답을 하는 것이 아니라
    • reaStudnetAll() 함수로 redirection
    • reaStudentAll() 함수 실행 후
    • readStudents.html이 보여짐

강사님은 redirection에서 화살표가 뻗어 나가지 않고 함수에서 함수로 이어서 설명해주셨음

👉🏻 프로젝트 생성

🎮 프로젝트 생성하기

  • 프로젝트가 생성됨

🎮 이름 변경하기

  • 프로젝트 디렉토리 내부를 보면 프로젝트 디렉토리와 같은 이름의 디렉토리가 있다
    • 헷갈릴 수 있으니 이름을 변경하자

  • 프로젝트를 생성했던 pjt 디렉토리에서
  • 프로젝트 디렉토리 명을 studentsProject 에서 sProject로 변경

👉🏻 애플리케이션 생성

🎮 애플리케이션 생성

  • 프로젝트 디렉토리 내부에서
  • manage.py 파일을 이용하여 앱을 만든다
  • 애플리케이션 명은 students

생성됨

👉🏻 프로젝트 설정 변경

settings.py에서

  • True면 개발모드 (그대로 둔다)

  • 로컬에서 실행할거라 host도 비워둬도 된다

🎮 애플리케이션 등록

  • 애플리케이션 디렉토리의 apps.py 파일에서 클래스명 확인

  • settings.py 내의 INSTALLED_APPS에 추가해준다
  • students앱apps.py 파일의 StudentsConfig calss

🎮 Time Zone 바꾸기

  • 기본값인 UTC 말고 Asia/Seoul로 바꿔주기

👉🏻 데이터 베이스 만들기

출처: SEOUL G-캠프 유튜브

🎮 models.py

  • 테이블 하나 생성
    • 테이블 내의 필드는 5개

🎮 Admin에 table 적용

🎮 적용하기

  • 마이그레이션 할 것이 있는지 확인하기

  • 하나 있음

  • migrate를 통해 반영하기

  • 완료

👉🏻 관리자 계정 생성 및 웹서버 실행

🎮 관리자 계정 생성

  • 명령어 입력 후 나오는 항목들에 대해 입력하고 완료

🎮 서버 올리기

  • port는 8000번
  • 서버의 로그가 실시간으로 계속 기록됨
  • 이건 로그 기록용으로 놔두고 나머지 작업은 원래 명령프롬프트에서 진행

127.0.0.1:8000 접속

127.0.0.1:8000/admin 접속

  • 아까 생성한 Username과 Password로 로그인

  • 기본 생성되는 테이블과 우리가 방금 생성한 Students 테이블이 있다

  • 아직 데이터는 없음

 

 

 

 

 

 

출처: https://youtu.be/9l4v2AerrDY?si=sI-Lc1TCmbGQoWPE