본문 바로가기
Ubuntu

2.[서버] Django를 이용해서 나만의 홈페이지를 만들어보자 [1/2 로그인 기능]

by 모아모아 리뷰 2023. 11. 15.
반응형

Oauth(Open Authorization) 소개

어떤 사이트에서 회원가입이나 로그인하려고 할 때 SNS 로그인 버튼이 있는 것을 볼 수 있는데,

이러한 로그인을 우리는 Oauth 로그인이라고 부른다.

 

저번에 장고 앱까지 생성을 마쳤으면 Google Oauth 패키지를 설치에 로그인을 할 수 있는 기능을 추가해보겠다.

 

1. Google Oauth 관련 패키지 설치 :

I : pip install social-auth-app-django 

 

2. settings.py 파일 수정 :

I : datafunction_project/settings.py 파일 열고 내용을 추가

 

II : 수정

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'social_django',
    'datafunction_app',
]

AUTHENTICATION_BACKENDS = (
    'social_core.backends.google.GoogleOAuth2',
    'django.contrib.auth.backends.ModelBackend',
)

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = '내 구글 클라이언트 ID'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = '내 구글 클라이언트 키'

LOGIN_URL = 'login'
LOGOUT_URL = 'logout'
LOGIN_REDIRECT_URL = 'home'

 

III : Google Oauth2.0 API KEY, ID 발급 받는법은 밑에 링크에서 순서대로 따라하시면됩니다.

 

3. urls.py 추가 :

from django.urls import path
from .views import home

urlpatterns = [
    path('home/', home, name='home'),
    # Add other paths as needed
]

 

4. views.py 파일 생성 및 추가 :

from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

 

5. datafunction_app 폴더 안에 'template' 폴더 생성 - 'home.html' 파일 생성 :

I : datafunction_app 이동

II : mkdir templates 폴더 생성

III : touch home.html 생성

 

6. home.html 내용 추가

 

7. Migration 마이그레이션 진행 후 runserver :

 

 

결과 :

 

해당 챕터에 분량이 너무 많이 나왔습니다 진짜 다음 챕터에서는 Oauth 로그인 기능을 추가해서

Google ID로 로그인을 해볼게요.

반응형

최근댓글

최근글

skin by © 2024 ttutta