티스토리 뷰
장고는 로그인,회원가입 등 웹 개발에 필요한 인증기능을 기본적으로 제공하고 있다.
장고 패키지에 포함되어있는 django.contrib.auth 앱이 인증기능을 담당한다.
auth앱으로는 로그인,로그아웃,패스워드 변경 등의 기능을 제공하고
이러한 기능에 관한 url,view,model(User)이 이미 구현이 되어있기 때문에 개발자는 template만 개발하면 된다.
장고 User 테이블 구조
필드 명 |
타입 |
제약조건,디폴트 |
설명 |
id |
integer |
PK,Auto Increment |
기본 키 |
username |
CharField(128) |
Unique |
로그인 이름(ID) |
password |
CharField(30) |
|
비밀번호 |
first_name |
CharField(30) |
Blank |
사용자 이름 |
last_name |
CharField(30) |
Blank |
사용자 성 |
CharField(254) |
Blank |
이메일 주소 |
|
is_superuser |
BooleanField |
Flase |
관리자 여부 |
is_staff |
BooleanField |
Flase |
스태프 여부 |
is_active |
BooleanField |
True |
계정 활성화 여부 |
date_joined |
DateTimeField |
timezone.now |
계정 생성된 시각 |
last_login | DateTimeField | Blank,Null | 마지막 로그인 시각 |
User테이블은 확장,변경이 가능하다
장고 인증(auth) 앱의 url패턴 ,view 이름,template 명
URL 패턴 |
View 이름 |
템플릿 파일명 |
/accounts/login/ |
login() |
registration/login.html |
/accounts/logout/ |
logout() |
registration/logout.html |
개발자 지정 |
logout_then_login() |
개발자 지정 |
/accounts/password_change/ |
password_change() |
registration/password_change.html |
/accounts/password_change/done/ |
password_change_done() |
registration/password_change_done.html |
/accounts/password_reset/ |
password_reset() |
registration/password_reset_form.html registration/password_reset_email.html registraion/password_reset_subject.html |
/accounts/password_reset/done/ |
password_reset_done() |
registration/password_reset_done.html |
/accounts/reset/ |
password_reset_confirm() |
registration/password_reset_confirm.html |
/accounts/reset/done | password_reset_complete() | registration/password_reset_complete.html |
위의 url,view,템플릿은 커스터마이징이 가능하다.
다음은 auth앱을 이용하여 로그인을 구현하는 절차이다.
먼저 프로젝트의 settings.py 파일에서 LOGIN_REDIRECT_URL 을 지정하도록 하겠다.
LOGIN_REDIRECT_URL 은 login() 뷰에서 로그인 처리가 성공한 후 next 파라미터가 지정되지 않았을 경우 이 항목의 url로 리다이렉트된다.
LOGIN_REDIRECT_URL = '/'
URL은 위에서 이미 패턴이 다 구현이 되어있기 때문에 불러오기만 하면 된다.
urls.py 에서 django.contfib.auth.urls를 include 한다.
urlpatterns = [
...생략
url(r'^accounts/',include('django.contrib.auth.urls')),
]
view로직도 모두 구현되어있기 때문에
이제 지정된 템플릿 파일명으로 템플릿을 작성하면 된다.
registration/login.html
...생략
<form action="." method="post"> {% csrf_token %}
{{ form.as_table }}
</form>
로그인 기능 완성!
지식 출처:django 를 활용한 쉽고빠른 웹개발 파이썬 웹 프로그래밍
'Framework > Django' 카테고리의 다른 글
CBV success_url parameter (0) | 2018.01.16 |
---|---|
You are trying to add a non-nullable field '필드명' to post without a default 해결 (0) | 2018.01.15 |
Django project 생성 (0) | 2017.12.17 |
django 관계형 데이터베이스 (0) | 2017.12.16 |
django __str__ 메서드 (0) | 2017.12.16 |
- Total
- Today
- Yesterday
- sass
- 후위 표기식
- java int to String
- sass 사용법
- java parseInt
- selenium switch_to_window
- 후위 표기법 계싼
- 2의 보수법
- 중위 표현식 후위 표현식
- 후위 표기 수식 계싼
- python virtualenv
- jsp tomcat 연동
- virtualenv
- 후위 표현식
- jsp 서버 연동
- selenium switch_to_window python
- 후위 표기법
- 중위 표기법 후위 표기법
- java String to int
- 계산기 구현
- 음수 10진수 음수 2진수
- jsp tomcat
- selenium 새 창 크롤링
- sass 설치
- 전자계산기 구현
- selenium 새 탭 크롤링
- jsp oracle 연동
- java toString
- 후위 표기 계산
- 2진수 음수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |