django学习笔记- oneday

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:

      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)

    return render(request, ‘main_show.html’, {‘page’: number, ‘paginator’: paginator})

Guess you like

Origin blog.csdn.net/qq_45205390/article/details/105355626