完成登录页面

main
RogerWork 2 years ago
parent b79f46c8d4
commit 601f9f96f7
  1. 2
      apps/user/urls.py
  2. 33
      apps/user/views.py
  3. 10872
      static/plugins/jquery/jquery.js
  4. 2
      static/plugins/jquery/jquery.min.js
  5. 1
      static/plugins/jquery/jquery.min.map
  6. 8777
      static/plugins/jquery/jquery.slim.js
  7. 2
      static/plugins/jquery/jquery.slim.min.js
  8. 1
      static/plugins/jquery/jquery.slim.min.map
  9. 60
      templates/user/user_login.html

@ -20,4 +20,6 @@ from apps.user import views
urlpatterns = [
path('user_reg/', views.user_reg),
path('user_login/', views.user_login),
path('ajax_login_data/', views.ajax_login_data),
]

@ -1,6 +1,8 @@
from django.shortcuts import render
from .forms import UserRegForm
from django.contrib.auth import authenticate, login
from django.http.response import JsonResponse
from .forms import UserRegForm
from apps.user.models import MyUser
@ -38,3 +40,32 @@ def user_reg(request):
errors = form_obj.errors
print(errors)
return render(request, 'user/user_reg.html', {'form_obj': form_obj, 'errors': errors})
def user_login(request):
return render(request, 'user/user_login.html')
def ajax_login_data(request):
print('ajax_login_data')
uname = request.POST.get('username')
pwd = request.POST.get('password')
json_dict = {}
if uname and pwd: # 不为空时触发登录逻辑
if MyUser.objects.filter(username=uname): # 查找数据库中是否存在该用户
user = authenticate(username=uname, password=pwd) # 验证用户
if user: # 验证通过
if user.is_active: # 验证用户是否为激活用户
login(request, user) # 完成登录操作
json_dict['code'] = '1000'
json_dict['msg'] = '登录成功'
else:
json_dict['code'] = '1002'
json_dict['msg'] = '密码错误'
else:
json_dict['code'] = '1003'
json_dict['msg'] = '用户不存在'
else:
json_dict['code'] = '1004'
json_dict['msg'] = '用户名密码为空'
return JsonResponse(json_dict)

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,60 @@
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
<link rel="stylesheet" href="{% static 'dist/css/adminlte.min.css' %}">
<script src="{% static '/plugins/jquery/jquery.min.js' %}"></script>
</head>
<body class="hold-transition register-page">
<div class="register-box">
<div class="register-logo">
<b>用户登录</b>
</div>
<div class="card">
<div class="card-body register-card-body">
<form action="" method="post">
{% csrf_token %}
<div class="input-group mb-3">
<input type="text" class="form-control" id="username" name="username" placeholder="用户名">
</div>
<div class="input-group mb-3">
<input type="password" class="form-control" id="password" name="password" placeholder="密码">
</div>
<div class="row">
<div class="col-8">
<label id="info"></label>
</div>
<div class="col-4">
<input type="button" id="register" class="btn btn-success" value="登录">
</div>
</div>
</form>
</div>
</div>
</div>
<script>
$("#register").click(function () {
console.log('ajax');
$.ajax({
url: "/user/ajax_login_data/", // 后端地址
type: "POST", // 请求方式
data: {
username: $("#username").val(),
password: $("#password").val(),
"csrfmiddlewaretoken": $("[name = 'csrfmiddlewaretoken']").val()
},
// 请求成功后的处理
success: function (data) {
$("#info").html(data.msg)
},
// 请求失败后的处理
error: function (jqXHR, textStatus, err) {
console.log(arguments);
},
})
})
</script>
</body>
</html>
Loading…
Cancel
Save