VaRest 플러그인을 언리얼 엔진에 설치하고 웹서버(Django)에 로그인하는 예
서버측에서 Template을 이용하지 않고 JSON 포맷으로 응답
users 앱 생성
python manage.py startapp users
위의 명령으로 App을 생성한 후에 생성되는 urls.py, views.py를 아래처럼 작성한다
users 앱 등록
프로젝트 settings.py 에 위에서 생성한 users 앱을 등록한다
INSTALLED_APPS = [ 'users', # 새로 추가한 앱 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] |
users/urls.py
from django.urls import path |
users/views.py
from django.shortcuts import render, redirect |
위의 서버에 UE4 VaRest 플러그인을 사용한 로그인 ( 그림을 클릭하면 그림 전체를 볼 수 있어요~)
jQuery를 사용한 로그인 예
Django 서버측에서 users 앱을 생성하고 users/ajax_login 으로 요청하는 경우
users/urls.py
from django.urls import path, include from . import views app_name = 'users' urlpatterns = [ path('', include('django.contrib.auth.urls')), path('register', views.register, name='register'), path('login_custom', views.login_custom, name='login_custom'), path('login_result', views.login_result, name='login_result'), path('ajax_login', views.ajax_login, name='ajax_login'), ] |
users/views.py
def ajax_login(request): if request.method != 'POST': return render(request, 'users/ajax_login.html') if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user: if user.is_active: login(request, user) print('request.user=', request.user) return JsonResponse({"result": True}) else: return JsonResponse({"result": False}) |
urls/templates/users/ajax_login.html
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
$(document).ready(function(){
console.log('jQuery Ready');
$.ajax({
url:'/users/ajax_login',
data:{'username':'tj', 'password':'tj'},
dataType:'json',
method:'post',
success:function(res) {
if(res.result){ alert('로그인 성공'); }
else alert('로그인 실패');
},
error : function(request, status, error){
console.log(error);
}
});
});
</script>