본문 바로가기

Project/ToyProject

[Rmanager] STEP - 3th

반응형

오늘의 목표!

. 로그인 / 로그아웃 구현하기 - o

. 회원가입 구현하기 - o

. 제품리스트 수정/삭제 기능 추가하기 - o

로그인 기능을 구현하기 위해서 프롬프트 창에서 'common'앱을 만들었다.

그리고 해당 앱을 사용하기 위해 config-settings에 common app을 등록하였다.

앱 등록 후 'Login/'로 진입하였을 때 보여줄 템플릿을 매핑하기 위해 URL을 추가하였다.

로그인 페이지에서 보여줄 양식들을 templates-common-login.html 에 작성하였다.

로그인 실패 시 로그인이 실패한 원인을 알려주기 위해서 form_errors.html을 작성하였다.

-필드 오류(입력값이 누락되었거나 형식에 맞지 않음)

-넌 필드 오류(입력값과 관계없이 발생한 오류)

필드 오류 값이 잘 alert 되는 걸 확인할 수 있었다.

config-settings에 LOGIN_REDIRECT_URL = '/'을 추가하여 로그인하였을 시 이동할 URL을 홈으로 변경하고,

config-urls에 path('', views.index, name='index'), 을 추가하여 URL 매핑

로그인 성공 시에도 홈페이지상으로는 로그인 표시로 계속 남아있기 때문에 코드 추가

로그아웃 링크가 추가되었으므로 {% url 'common:logout' %}에 대응하는 URL 매핑을 common/urls.py 파일에 추가

로그아웃 클릭 시 홈 화면으로 이동하기 위해 settings에 LOGOUT_REDIRECT_URL = '/' 추가

회원가입 링크는 login.html 파일에 추가

그 후 {% url 'common:signup' %}를 추가했으므로 여기에 대응하는 URL 매핑을 추가하였다.

회원가입 폼을 작성하고,

common/views.py에서 signup 함수를 정의하였다.

signup 코드에서 작성한 signup.html을 구현하기 위해 html 파일을 작성하였다.

회원가입페이지 구현이 정상적으로 작동되는 것을 확인할 수 있었다.

필드 값에 오류가 떴을 시, alert로 작성된 오류들이 정상출력되는 것을 확인할 수 있었다.

관리자 페이지-사용자(들)에서 방금 가입한 woongbin 계정이 정상출력되는 것을 확인하였다.

management_detail.html에 제품 수정 버튼을 추가하고

inventory-urls.py에 수정 URL을 매핑

inventory-views.py에 수정 함수를 추가하였다.

수정 기능이 정상 작동하는 것을 확인함!

삭제 기능도 수정 기능과 똑같지만, 삭제 기능은 base.html에 자바스크립트를 추가시키고

삭제 버튼을 클릭 시 알림 창으로 재확인을 시키기 위해 기능 추가하였다.

수정/삭제는 로그인한 사람들만 할 수 있도록 @login_required(login_url='common:login') 코드를 추가하였고,

사진처럼 삭제 함수를 추가하였다.

이로써, 오늘 목표였던

로그인 / 로그아웃 / 회원가입 / 수정 기능 / 삭제 기능을 구현할 수 있게 되었다.

가장 어려웠던 부분은 sign.up 코드와 필드 오류 값을 alert 하는 것이었다.

반응형

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

[Rmanager] Basic tool  (0) 2021.07.31
[Rmanager] STEP - 4th  (0) 2021.07.31
[Rmanager] STEP - 2nd  (0) 2021.07.31
STEP - 1 오류 해결 !  (0) 2021.07.31
[Rmanager] STEP - 1st  (0) 2021.07.31