오늘의 목표!
. 내비게이션 기능 추가하기 - 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 |