1.返回一共四种方式:这四种方式和创建cookie有关
from django.shortcuts import render,HttpResponse,redirect
from myproject import settings
from django.http import JsonResponse
import json
from project import models
from django.db.models import Avg,Min,Max,Sum,Count
# Create your views here.
def login(request):
if request.method == 'GET':
# return HttpResponse('ok')
return render(request, 'login.html')
else:
print('678')
print(request.POST)
username = request.POST.get('username')
pwd = request.POST.get('pwd')
if username == 'alex' and pwd == '123':
# ret = redirect('home')
res = {'state': '0', 'info': 'success', 'url': '/home/'}
ret = JsonResponse(res)
# max_age=3;只有三秒的周期
ret.set_cookie('is_login', True)
ret.set_cookie('user', username)
# 在谷歌application里面storage里面找到cookie
# res_ret = json.dumps(res)
# print('333')
# 第一种回复
# return HttpResponse(res_ret, content_type='application/json')
# 第二种回复,本身就是json,传字典过去 ,要是列表必须设置 safe=False
return ret
else:
print('111')
return redirect('login')
前段:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="">
{% csrf_token %}
用户名:<input type="text" name="name" id="username"><span>输入正确</span>
<br/>
密码: <input type="password" name="pwd" id="pwd"><span>输入正确</span>
<br/>
<input type="button" value="提交" id="submit">
</form>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>
$("#submit").click(function(){
var username = $('#username').val();
var pwd = $('#pwd').val();
var csrc_data = $('[name=csrfmiddlewaretoken]').val();
$.ajax({
url:"{% url 'login' %}",
type:'post',
data:{
username:username,
pwd: pwd,
csrfmiddlewaretoken: csrc_data,
},
success:function(res){
var url = res.url;
location.href = url;
{#console.log(response)#}
//alert(response)
}
})
})
</script>
</body>
</html>
SESSION:
session 里面的引用 是从中间件里面:
'django.contrib.sessions.middleware.SessionMiddleware',引用的
def login2(request):
if request.method == 'GET':
print('123')
return render(request, 'login.html')
else:
username = request.POST.get('username')
password = request.POST.get('pwd')
if username == 'alex' and password == '123':
request.session['is_login'] = True
request.session['user'] = username
# next_url = request.session.get("user")
#
res = {'state': '0', 'info': 'success', 'url': '/home/'}
ret = JsonResponse(res)
return ret
else:
res = {'state': '0', 'info': 'success', 'url': '/login/'}
ret = JsonResponse(res)
return ret