from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.shortcuts import render,HttpResponse
from student.models import student
‘’’
用户的登录实现
-POST
- 得到用户名和密码
- 去数据库中进行匹配
- 登录成功
- 登录失败
-GET
- 跳转到本页,加载是执行
‘’’
def login_views(request):
if request.method==‘POST’:
username=request.POST.get(‘username’)
password=request.POST.get(‘password’)
if username and password:
students=student.objects.filter(sname=username,spassword=password)
if students:
return HttpResponse(‘登录成功’)
else:
return HttpResponse(‘密码错误’)
else:
return HttpResponse(‘账号密码不为空’)
else:
return render(request,‘login.html’)
‘’’
用户注册功能的实现、
用户的登录实现
-POST
- 得到用户名和密码
- 去数据库中进行匹配
- 数据库中已经存在记录
- 用户已经存在了
- 数据库中已经不存在记录
- 新建记录
-GET
- 跳转到本页,加载是执行
‘’’
def Registered(request):
if request.method==‘POST’:
username= request.POST.get(‘username’)
password= request.POST.get(‘password’)
password2= request.POST.get(‘password2’)
if not (username and password and password2):
return HttpResponse(‘参数不完整’)
elif password!=password2:
return HttpResponse(u’两次输入的密码不同’)
else:
students = student.objects.filter(sname=username)
if students:
return HttpResponse(‘用户已经注册过了’)
else:
Stu=student(sname=username,spassword=password)
Stu.save()
return HttpResponse(‘用户已注册成功’)
else:
return render(request, ‘index.html’)
‘’’
- 用户退出的实现
- 1.路由跳转
- 2.页面跳转
‘’’
def Exit(request):
return HttpResponse(‘退出成功’)
‘’’
-
分页功能的实现
-
1.进行导包
- from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
-
2.查询数据库中的所有数据
- good_list = student.objects.all()
-
3.Paginator()函数
- 值1:所有的数据
- 值2:每一页的数据
- 值3:当最后一页数据少于n条,将数据并入上一页
-
4.捕获异常
try:GET请求方式,get()获取指定Key值所对应的value值
获取index的值,如果没有,则设置使用默认值1
num = request.GET.get(‘index’, ‘1’)
获取第几页
number = paginator.page(num)
except PageNotAnInteger:如果输入的页码数不是整数,那么显示第一页数据
number = paginator.page(1)
except EmptyPage:
number = paginator.page(paginator.num_pages) -
传递参数
- 将当前页页码,以及当前页数据传递到index.html
- return render(request, ‘main_show.html’, {‘page’: number, ‘paginator’: paginator})
‘’’
def main_show(request):
good_list = student.objects.all()
paginator = Paginator(good_list, 12, 3)
try:
- return render(request, ‘main_show.html’, {‘page’: number, ‘paginator’: paginator})
GET请求方式,get()获取指定Key值所对应的value值
获取index的值,如果没有,则设置使用默认值1
num = request.GET.get(‘index’, ‘1’)
获取第几页
number = paginator.page(num)
except PageNotAnInteger:如果输入的页码数不是整数,那么显示第一页数据
number = paginator.page(1)
except EmptyPage:
number = paginator.page(paginator.num_pages) - 将当前页页码,以及当前页数据传递到index.html
return render(request, ‘main_show.html’, {‘page’: number, ‘paginator’: paginator})
-