본문 바로가기

Project/ToyProject

(26)
[Rmanager] Decorator 오늘의 공부 중점은 Django에서 제공하는 Decorator를 사용하여 페이지 권한을 쉽게 설정하는 법이었다 사용자 앱(현재는 fcuser 앱)에서 decorator.py를 만들어 wrap기능을 사용하여 함수를 만든다 ​ 두 가지로 만들었는데, 현재 쇼핑몰 프로젝트를 진행 중이어서 로그인을 했을 시 주문 가능하게 만들기 위해 login_required 함수를 설정하고 상품을 등록할 때는 일반 user가 아닌 admin 관리자만 등록할 수 있게 admin_required 함수도 설정하였다 오늘 처음 알게 된 modelt설정이 있는데 각 유저마다 레벨을 측정해 권한을 줄 수 있는 코드가 있었다. 코드를 이렇게 작성해서 각 유저마다 관리자 권한을 줄 수 있었고, 관리자 페이지에서 설정할 수 있었다 진행 과정..
[Rmanager] generic view 기존에 view 코드를 정말 복잡하게 작성했는데, 오늘 배운 제네릭 뷰로 class를 상속화하여 코드를 간단하게 만드는 과정을 알게 되었다. ​ 시작은 동일하게 가상 환경을 설정하고, 필요한 파일들을 저장한 후에 프로젝트, 앱들을 생성한다 ​ 오늘 django 실전은 간단한 쇼핑몰 만들기여서 app은 user, product, order로 구성하였고 각 앱들마다 모델을 작성하였다 유저 모델에는 이메일과 비밀번호, 등록 날짜로 구성하였고 각각 맞는 필드로 작성 admin사이트에서 구분하기 쉽게 self를 email로 작성하였다 Meta 클래스를 사용하여 db를 알기 쉽게 구현하였다 그 밖의 product, order도 동일한 방식으로!! 그리고 모델들을 작성하였기 때문에 python manage.py ma..
[Rmanager] Basic code/ login/ board 가상 환경 설정하고 프로젝트 준비하기 1. 폴더 생성 후 Visualcode에서 폴더 열기 - 터미널 창 띄우기 2. pip3 install vituralenv - 컴퓨터에 가상 환경 패키지 설치하기 3. vituralenv 'project 이름' - 가상환경에서 project 생성하기 4. source 'project 이름'/bin/activate - 가상 환경 사용 코드 5. pip install django - 장고 프레임워크 설치하기 6. django-admin startproject 'project명' - project 생성하기 7. cd project - project 진입 8. django-admin startapp 'appname' - app 생성 ​ * 프로젝트 안에 여러 앱이 들어간다 ..
[Rmanager] Basic tool 매일같이 주방 불 앞에서 씨름하던 내가 이제는 매일 카페에 가서 노트북과 허공만 번갈아가며 쳐다보고 한숨 푹푹 쉬고 있는 내 모습이 아직은 어색하지만, 좋은 기회를 받은만큼 열심히 하려 노력 중이다. ​ 원래 블로그 계획은 오류들을 작성하면서 해결해가는 과정을 기록해, 후에 같은 오류가 생겼을 시에 반복된 실수를 줄이고자 했지만! 너무 많은 작고 큰 실수들이 잦아서 빠르게 포기.. ​ 기본적인 CRUD 기능들도 이제는 어느 정도 할 수 있다고 생각했는데 단순히 템플릿 하나 추가됐다는 것에 많은 애를 먹었다. ​ | 만든 과정 | Django Framework 사용 , Visual Studio CODE 사용 BootstrapMade 인용 가상 환경 구축 - 프로젝트 생성 - 앱 생성...(모델, 폼, ht..
[Rmanager] STEP - 4th 오늘의 목표! . views.py 분리하기 (추후에 수정할 시 편리함을 위해) - o . 리스트 검색 기능 추가하기 - o ​ inventory app directory에 base_views.py를 추가하고 기본 관리인 index 함수와 detail 함수를 넣어놓았다. inventory app directory에 management_views.py를 추가하고 management_create(제품 추가), management_modify(제품 수정), management_delete(제품 삭제)를 추가하였다 하지만, 명령 프롬프트 창에서 오류가 발생하였다. 해석해보니 views 파일을 (base_views/management_views) 2개로 분리한 후 기존에 남아있던 views.py를 삭제하지 않아서 ..
[Rmanager] STEP - 3th 오늘의 목표! . 로그인 / 로그아웃 구현하기 - o . 회원가입 구현하기 - o . 제품리스트 수정/삭제 기능 추가하기 - o 로그인 기능을 구현하기 위해서 프롬프트 창에서 'common'앱을 만들었다. 그리고 해당 앱을 사용하기 위해 config-settings에 common app을 등록하였다. 앱 등록 후 'Login/'로 진입하였을 때 보여줄 템플릿을 매핑하기 위해 URL을 추가하였다. 로그인 페이지에서 보여줄 양식들을 templates-common-login.html 에 작성하였다. 로그인 실패 시 로그인이 실패한 원인을 알려주기 위해서 form_errors.html을 작성하였다. -필드 오류(입력값이 누락되었거나 형식에 맞지 않음) -넌 필드 오류(입력값과 관계없이 발생한 오류) 필드 오류 ..
[Rmanager] STEP - 2nd 오늘의 목표! . 내비게이션 기능 추가하기 - o . 게시판 페이징 기능 추가하기 - o ​ 내비게이션 기능을 추가하기 위 필요한 자바스크립트와 제이쿼리를 static 폴더에 넣었다. ​ 그 이후에 navbar.html을 작성하고 코드를 간소화시키기 위해서 list.html에 navbar.html 삽입하는 형식으로 진행하였다. {% include "navbar.html" %}를 넣어서 실행시켜 본 결과 사진 위에서 처럼 내비게이션 바가 잘 나타나는 걸 확인할 수 있었고, 오른쪽 상단에 햄버거 버튼도 잘 작동하는 걸 확인하였다. ​ 이제는 다음 목표인 페이징 기능을 하기 위해서, 셀로 임의적인 데이터들을 만드려 하였다가 엑셀 파일이 있는 걸 알고 DB를 바꾸기 위해 현재 DB로 들어갔다. 엑셀 파일을 DB..
STEP - 1 오류 해결 ! 처음에는 No module named 'inventory.forms' 오류가 떴었다. 그래서 url.view.form 뒤적거리면서 문제점을 찾아보았다. 결론적으로 모델 폼을 가져오지 못하는 오류였다. 위 사진처럼 작성한 모델 필드들에서 문제가 있었다. ​ 하루종일 다른 부분에서 찾았는데 결국 'residual_quantity ' -> 'residual_quantity'가 해결방안이었다 공백으로 인해 생긴 오류였다. 해당 사진처럼 각 필드들에 공백들이 있었다. 이제 보고 나니 정말 잘 보이는데, 어제 새벽부터 방금 전까지는 정말 안보였었다.... 조금 허탈한 기분이다 공백을 지우고 다시 실행해 본 결과 해당 모델 폼을 import 해오고 버튼 기능까지 잘 작동하는 걸 볼 수 있었다. 21시간의 고통 끝.