咸鱼笔记―Django登录案例(Ajax)

匿名 (未验证) 提交于 2019-12-02 23:34:01

咸鱼笔记―Django登录案例(Ajax)


新手刚接触python,跟着教程学的,笔记是为了把我学到的知识梳理一遍,仅供参考。欢迎各路大神指点。

学习版本: Django 1.8. Python 3.5

Ajax

Ajax基本概念

异步的javascript。在不全部加载某一个页面部的情况下,对页面进行局的刷新,ajax请求都在后台。

  • 同步:发起请求后,等回调函数成功后进入下一步

  • 异步:发起请求后,不等回调函数执行,直接进行下一步

  • 同步AJAX

       $.ajax({              'url':'/ajax_handle',              'type':'get',              'dataTpye':'json',              'async':false,     #同步ajax          }) 

图片,css文件,js文件都是静态文件。

JSON:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式

Ajax登录案例
  1. 首先分析出请求地址时需要携带的参数。
  2. 视图函数处理完成之后,所返回的json的格式。

1.显示登录页面
新建static文件夹,用于存放静态文件:js,css,图片

配置settings.py

STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')] #设置静态文件目录 


1)设计url,通过浏览器访问 http://127.0.0.1:8000/login_aj 时显示登录页面。

 url(r'^login_aj$', views.login_aj),   

2)设计url对应的视图函数

def login_aj(request):     return render(request,'booktest/login_aj.html') 

2.登录校验功能
1)设计url,点击登录页的登录按钮发起请求http://127.0.0.1:8000/login_ajc时进行登录校验。

url(r'^login_ajc$', views.login_ajc) 

2)设计url对应的视图函数login_ajc。

  from django.http import HttpResponse,JsonResponse   def login_ajc(request):   	#获取用户名和密码         username = request.POST.get('username')         password = request.POST.get('password')     #校验,返回json数据         if username == '123' and password == '123':             return JsonResponse({'res':1})         else:             return JsonResponse({'res':0}) 

3)编写模板文件login_aj.html。

<!DOCTYPE html> <html lang="en"> <head>      <meta charset="UTF-8">     <title>ajax</title>     <script src="/static/js/jquery-1.12.4.min.js"></script>     <script>         $(function(){             $('#btnLogin').click(function () {             #获取用户名密码                 username = $('#username').val()                 password = $('#password').val()             #ajax请求                 $.ajax({                     'url':'/login_ajc',                     'type':'post',                     'data':{'username':username,'password':password},                     'dataType':'json',                 }).success(function(data){                 #成功 res ==1 ;失败 res==0                     if (data.res == 0){                         $('#err').show().html('密码错了,兄弟!')                     }                     else {                         location.href = '/index' #成功时 跳转到index页面                     }                 })             })         })     </script>     <style>         #err{             display: none;             color:darkred;         }     </style> <body> <div>     用户名 <input type="text" id="username">     密码 <input type="password" id="password">       <input type="button" id="btnLogin"   value="登录">  </div> <div id="err">失败</div> </body> </html> 

登录失败时,显示错误信息

登录成功时,跳转index页面

文章来源: https://blog.csdn.net/weixin_45020839/article/details/90405441
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!