在models中 先创建一个表

from django.db import models

# Create your models here.
class UserInfo(models.Model):
username = models.CharField(max_length=32,unique=True)
password = models.CharField(max_length=32,unique=True)

在setting的文件中的最后一行 配置静态地址

STATICFILES_DIRS=[os.path.join(BASE_DIR,"static")]

在Python Console中用ORM创建一条测试用的用户名和密码, 也可以直接在数据库中添加

from app01.models import UserInfo
UserInfo.objects.create(username="wang",password="wang")

开始写html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="/static/js/jquery-3.3.js"></script>
</head>
<body>
<form action="">
用户名<input type="text" id="user">
密码<input type="password" id="pwd">
<input type="submit" value="提交" id="login_btn"><span class="error"></span>
{% csrf_token %}
</form> <script>
$("#login_btn").click(function(){
//发送Ajax请求登录认证
$.ajax({
url:"/login/",
type:"post",
data:{
user:$("#user").val(),
pwd:$("#pwd").val(),
csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val()
},
success:function(res){
var res=JSON.parse(res); //反序列化数据 把字符串转换成支持的类型
console.log(res); if (res.user){
// 登录成功
location.href="/index/"
}else{
//登录失败
$(".error").html(res.error).css("color","red");
setTimeout(function(){
$(".error").html("")
},2000)
} }
})
}) </script> </body>
</html>

views视图

from django.shortcuts import render,HttpResponse,redirect
from app01.models import UserInfo # ajax的用户登录
def login(request):
if request.method == "POST":
user = request.POST.get("user")
pwd = request.POST.get("pwd") res = {"user": None, "error": ""}
user_obj = UserInfo.objects.filter(username=user,password=pwd).first()
print("user_obj:",user_obj) if user_obj:
res["user"]=user_obj.username
else:
res["error"]="用户名和密码不一致"
return HttpResponse(json.dumps(res))
return render(request,"login.html") def index(request):
return render(request,"index.html")

ajax 的登录认证的更多相关文章

  1. day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType

    一.ajax 的特点 1.异步交互:客户端发出一个请求后,需要等待服务器响应结束后, 才能发出第二个请求 2.局部刷新:给用户的感受是在不知不觉中完成请求和响应过程. 二.ajax 模板示例 ($.a ...

  2. day059 ajax初识 登录认证练习

    ajax初识 ajax有两个特点: 一个是异步,另一个是浏览器页面局部刷新(这个特点是用户感受不到的时候进行的) 示例: 页面输入两个整数,通过AJAX传输到后端计算结果并返回 在HTML文件中: & ...

  3. ajax 的简单请求,get的加法运算,post加法运算,用户登录认证

    视图函数部分 from django.shortcuts import render, HttpResponse import time from app01.models import User i ...

  4. 巨蟒python全栈开发django10:ajax&&登录认证

    通过题目进行知识点回顾: 聚合查询 From django.db.models import Avg,Min,Max,F,Q,Count,Sum #查询书籍的平均值 Ret= Models.Book. ...

  5. 来吧学学.Net Core之登录认证与跨域资源使用

    序言 学习core登录认证与跨域资源共享是越不过的砍,所以我在学习中同样也遇到啦这两个问题,今天我们就用示例来演示下使用下这2个技术点吧. 本篇主要内容如下: 1.展示一个登录认证的简单示例 2.跨域 ...

  6. Springboot-shiro-redis实现登录认证和权限管理

    Springboot-shiro-redis实现登录认证和权限管理 在学习之前: 首先进行一下Apache Shiro和Shiro比较: Apache Shiro是一个功能强大.灵活的,开源的安全框架 ...

  7. 玩转spring boot——简单登录认证

    前言 在一个web项目中,某些页面是可以匿名访问的,但有些页面则不能.spring mvc提供了HandlerInterceptor接口来应对,只需要重写preHandle方法便可以实现此功能.那么使 ...

  8. springboot+mybatis+shiro——登录认证和权限控制

    转载:https://z77z.oschina.io/ 一.引入依赖 shiro-all包含shiro所有的包.shiro-core是核心包.shiro-web是与web整合.shiro-spring ...

  9. JavaEE权限管理系统的搭建(四)--------使用拦截器实现登录认证和apache shiro密码加密

    RBAC 基于角色的权限访问控制(Role-Based Access Control)在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.在一个 ...

随机推荐

  1. Linux之tail命令实时收集[纠正误解]

    tail [OPTION]... [FILE]... -c, --bytes=K            output the last K bytes; alternatively, use -c + ...

  2. sql 1=1

    大多数时候是为了sql拼写方便而加的条件从执行任务来看,不影响性能  

  3. html常用

    常用标签 <head></head> <body></body> <script></script> <a>< ...

  4. comtextMenu 如何正确的响应MouseLeave事件

    今天给菜单加上这个事件,发现弹出菜单后 鼠标怎么动都不会触发 mouseLeave事件 解决方法是 在菜单loaded事件中,利用visualTreeHelper 访问他内部的border控件,把这个 ...

  5. iOS JSON NSString Convert to NSDictionary

    NSString *str = @"{\"info\":{\"body\":\"这个里面是是测试代码,里面有二个图片<!--img#0 ...

  6. Android 查看Apk签名方式V1和V2

    Android 查看Apk签名方式V1和V2 java -jar apksigner.jar verify -v my.apk -- Verifies Verified using v1 scheme ...

  7. Qt4可以使用trUtf8函数,其内容可以是中文,也可以是\F硬编码

    显示在textBrowser->setText 中文乱码 转成QObject::trUtf8即可. ui->textBrowser->setText((QObject::trUtf8 ...

  8. 芒果TV For Windows10 成长历史 & 迭代历史 & 新闻报道

    芒果TV 是国内领先的基于Windows10操作系统并支持Windows10全系列设备的视频应用和内容服务商. Win10商店版<芒果TV>是湖南快乐阳光互动娱乐传媒有限公司专门为Wind ...

  9. SqlServer Bug:复制架构更改参数(replicate_ddl)无效

    原文:SqlServer Bug:复制架构更改参数(replicate_ddl)无效 最近测试可更新订阅的架构更改问题,发现了一个 bug. 在复制中,当在发布数据库对发布数据库进行架构更改时,结构自 ...

  10. ThreadPoolExecutor的一点理解 专题

    corePoolSize(maxActiveThreadSize):线程池大小,决定着新提交的任务是新开线程云执行还是放到任务队列中,也是线程池的最最核心的参数.一般线程池开始时是没有线程的,只有当任 ...