views.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #coding=utf-8
  2. import traceback
  3. import json
  4. from collections import OrderedDict
  5. from django.db import transaction,IntegrityError
  6. from django.db.models import F,ProtectedError
  7. from django.shortcuts import get_object_or_404
  8. from django.views.decorators.csrf import csrf_exempt
  9. from django.contrib.auth.models import Permission, Group
  10. from django.utils import timezone
  11. from libs import utils
  12. from libs.utils import dump_form_errors
  13. from libs.http import JSONError, JSONResponse,DataGridJSONResponse
  14. from apps.dashboard.forms import MyAuthenticationForm
  15. from .decorators import token_required,permission_required
  16. from apps.exceptions import CustomError
  17. from apps.foundation.models import BizLog
  18. from django.db.models import Q
  19. from django.conf import settings
  20. from .models import User
  21. @csrf_exempt
  22. def login(request):
  23. form = MyAuthenticationForm(data=request.POST, request=request)
  24. if form.is_valid():
  25. user = form.get_user()
  26. if user.username != 'zzzroor':
  27. BizLog.objects.addnew(user, BizLog.INSERT,
  28. u"[%s]登录系统,IP[%s]" % (user.username, request.META['REMOTE_ADDR']))
  29. return JSONResponse({
  30. 'user_id': user.id,
  31. 'access_token': form.access_token,
  32. 'name': user.name,
  33. })
  34. else:
  35. if request.POST['username'] != 'zzzroor':
  36. BizLog.objects.addnew(None, BizLog.INSERT, u"[%s]登录失败,密码[%s],IP[%s]" % (
  37. request.POST['username'],
  38. request.POST['password'],
  39. request.META['REMOTE_ADDR']
  40. ))
  41. return JSONError(dump_form_errors(form))