Django-2

Stark Ned·2024년 4월 1일

예제 학습 후 실제 서비스 구현

  • djongo 프레임워크를 활용하여 내가 평소에 필요하던 기능들을 구현한 간단한 웹 서비스를 구현 해보았다. 그 과정을 요약해서 기록 해보려고 한다.

프레임워크의 작동 원리

장고 프레임워크에서 View는 Template, Controller는 View라고 표현하며, MVC 대신 MVT패턴이라고 부른다.

  • Model: 데이터 베이스에 저장되는 데이터와 관련된 부분 정의
  • View: 프로그램 로직이 동작하여 데이터를 가공, 처리한 결과를 - Template에 전달
  • Template: 사용자에게 보여지는 UI 부분
  • 클라이언트의 요청을 받으면 최상위(프로젝트) URLconf(URL과 View를 매핑해놓은 집합) 로딩
  • urlpatterns 변수에 지정되어 있는 URL 리스트 검사
  • 위에서 부터 순서대로 URL 리스트의 내용을 검사하면서 URL 패턴이 매치되면 검사 종료
  • 요청된 URL과 매치된 URL의 View 호출
  • 담당 View는 로직을 실행하여, DB 처리가 필요하면 Model을 통해 처리하고 결과 반환
  • View는 로직 처리가 끝나면 Template를 사용해 클라이언트에 전송할 HTML 파일 생성
  • View는 최종 결과로 HTML파일을 클라이언트에게 응답

프로젝트 구조

이번 프로젝트는 단일앱으로 구조를 짠 단순한 서비스 이므로 메인앱은 한개이다.

https://velog.io/@duo22088/Django-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EA%B5%AC%EC%A1%B0 를 참고하였다

구현 기능

  1. 로그인 기능을 통해 사용자 통제기능
  2. 셀레니움 기능을 활용한 매크로 기능을 지속적으로 진행
  3. 그리드 오픈소스를 활용하여 내 아이템 목록을 관리

위의 요구사항을 충족한 결과물을 코드와 함께 설명 해보겠다.

기능단위의 서비스 설명

  • 예제로 만든 장고 프로젝트를 실행하면 서버가 실행된다.

  • 실행된 서버의 메인 화면은 아래와 같다.

  • 회원가입을 진행 한 후에

  • 로그인 화면에서 로그인을 하게되면

  • 아래의 url을 참고하여 슈퍼유저(superuser)를 활용한 관리자 기능을 활용해도 좋다.

    참고 https://wikidocs.net/70718

  • 구현기능1번의 요구사항을 위한 기능은 로그인 기능을 통해 구현 하였다.
    로그인이 완료되면 상단 네비가 변경되고 왼쪽 바디 네비의 아이템이 보이게 된다.

  • 이러한 기능의 소스의 진행은 위에서 설명한 프레임워크의 작동 원리를 이행한다.
    구현기능 2번의 요구사항을 위한 기능은 보관 기능을 통해 구현 하였다.

  • 시작하기 버튼을 클릭하면 내가 저장한 LIST를 DB에서 select 해와 그리드에 매핑 시킨 후 해당 데이터를 셀레니움을 활용하여 지속적인 요청을 반복하며 사용자가 원하는 순간까지 진행한다.
    구현기능 3번의 요구사항을 위한 기능은 주문 기능을 통해 구현 하였다.

  • 내가 보유하고 있는 상품의 목록을 관리하기 위한 목록을 그리드를 활용하여 구현하였다. 간단한 DB와 CRUD기능을 위한 api를 각 모듈 views에 구현 하였다.

이렇게 django를 활용하여 평소에 필요했던 예제를 만들어보았다. 다음 편에는 진행하며 맞닥뜨렸던 문제들을 어떻게 해결했는지 서술해 보겠다.

profile
Escape

0개의 댓글