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시간의 고통 끝. 이전 1 2 3 4 다음