본문 바로가기

Project/ToyProject

[Rmanager] STEP - 2nd

반응형

오늘의 목표!

. 내비게이션 기능 추가하기 - o

. 게시판 페이징 기능 추가하기 - o

내비게이션 기능을 추가하기 위 필요한 자바스크립트와 제이쿼리를 static 폴더에 넣었다.

그 이후에 navbar.html을 작성하고 코드를 간소화시키기 위해서 list.html에 navbar.html 삽입하는 형식으로 진행하였다.

{% include "navbar.html" %}를 넣어서 실행시켜 본 결과

사진 위에서 처럼 내비게이션 바가 잘 나타나는 걸 확인할 수 있었고, 오른쪽 상단에 햄버거 버튼도 잘 작동하는 걸 확인하였다.

이제는 다음 목표인 페이징 기능을 하기 위해서, 셀로 임의적인 데이터들을 만드려 하였다가 엑셀 파일이 있는 걸 알고

DB를 바꾸기 위해 현재 DB로 들어갔다.

엑셀 파일을 DB에 바로 넣으면 한글이 깨지기 때문에,

메모장을 켜서 엑셀파일을 불러오고 다른 이름으로 저장하면서 인코딩 타입을 UTF-8로 변경하여 저장하였다.

(인코딩 타입을 UTF-8로 변경시켜야 한글이 깨지지 않기 때문에!)

똑같이 DB에서도 인코딩 타입을 UTF-8로 변경하였고,

테이블 이름을 현재 데이터에 넣어야 하기 때문에 inventory_management로 변경하여 넣었다.

한글이 깨지지 않고 엑셀 파일이 DB에 잘 들어간 걸 확인하고 DB를 저장하고 종료하였다

localhost:8000/inventory에 접속하니 엑셀파일이 그대로 DB에 들어가서 화면으로 잘 출력되는 걸 확인할 수 있었다.

하지만, 스크롤을 무한대로 내려야 하는 번거로움이 있어서 2번째 목표였던 페이징 기능을 추가해야 했다.

페이징 기능을 추가시키기 위해

inventory-views.py에 위치한 index함수에서 입력 파라미터와 페이징 처리를 추가시켰다.

기능을 추가시키니 입력한 대로 페이지당 10개씩 보이고 있는 걸 확인할 수 있었다.

하지만 다음 페이지로 이동하는 기능을 추가시켜야 했다.

management_list.html에서 해당 버튼들을 작성하고 IF문을 사용하여 코드를 작성하였다.

위 사진처럼 가지고 있는 페이지들을 전부 다 보여주기 때문에 IF문을 한번 더 작성해야 했다.

add:-5 / add:5를 써서 페이지들을 5페이지씩 빼고 더하는 형식으로 작성하였다.

가장 어려웠던 부분은, 엑셀 파일을 데이터베이스에 옮기는 과정이었다.

수월하게 흘러가던 중 한글이 깨지는 현상이 나타났고, 구글링을 통해 해결하였다.

내일 목표는

1. 로그인/로그아웃/회원가입을 구현하고

2. 리스트를 수정/삭제할 수 있게 기능을 추가

3. 검색 기능 추가

4. 추후에 수정할 때 편하게 views.py를 기능별로 분리하기

반응형

'Project > ToyProject' 카테고리의 다른 글

[Rmanager] STEP - 4th  (0) 2021.07.31
[Rmanager] STEP - 3th  (0) 2021.07.31
STEP - 1 오류 해결 !  (0) 2021.07.31
[Rmanager] STEP - 1st  (0) 2021.07.31
프로젝트 기획안 : [연구실 재고관리 프로그램]  (0) 2021.07.31