分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

一个登陆网站验证身份的简单例子

发布时间:2023-09-06 01:43责任编辑:彭小芳关键词:暂无标签
按照需求设计
  1. 登陆注册
  2. 人员属于不同的班级
  3. 学生操作
  4. 班级操作
  5. 老师操作
  6. 增删改查
开发
  1. 定义数据库表结构
  2. 登陆注册
class Classes(models.Model): ???caption = models.CharField(max_length = 32)class Student(models.Model): ???name = models.CharField(max_length = 32) ???cls = models.Foreignkey(‘Classes‘)class Teacher(models.Model): ???name = models.CharField(max_length = 32) ???username= models.CharField(max_length = 32) ???password = models.CharField(max_length = 32) ???????cls = models.ManyToMany(‘Classes‘) ???

登陆成功之后需要保持状态,记录登陆状态
如何获取这个呢?需要通过cookies session等

下面讲述一个简单的案例:
一个可以登陆,显示用户登陆后信息的状态的简单页面

我们先来设计表结构
有几种用户身份: 学生 老师 管理员
学生属于班级 老师也属于班级
一个班级有多个学生
一个班级有多个老师 一个老师可以任教多个班级

由此可以看到 班级和学生之间是一对多的关系
老师和班级之间是多对多的关系
因此,对应到Django的models的设计来看,班级和学生之间是外键关系
老师和班级之间是ManyToMany关系
据此设计吧表结构如下:

class classes(models.Model): ????caption = models.CharField(max_length = 32)class Student(models.Model): ???name = models.CharField(max_length = 32) ???cls = models.Foreignkey(‘Classes‘)class Teacher(models.Model): ??name = models.CharField(max_length = 32) ??username = models.CharField(max_length = 32) ??password = models.CharField(max_length = 32) ??cls = models.ManyToMany(‘Classes‘) ??

表结构设计好之后,就来编写 views了
逻辑要实现:
用户登陆,root+root(用户名家和密码) 则判断用户登陆成功,跳转登陆成功之后的页面
用户登陆失败,则提示用户登陆失败,重新登陆

我们先用CBV的方法编写

from django.shortcut import renderfrom django.shortcut import redirectdef login(request): ?????msg = "" ?????if request.method == "POST": ???????????print request.method ???????????username = request.POST.get("username") ???????????password = request.POST.get("password") ???????????????????????if username == "root" and password == "root": ????????????????return redirect(‘/index.html‘) ???????????else: ???????????????msg = "请输入正确的用户名和密码" ???????????????return render(request, ‘login.html‘, {‘msg‘: msg}) ??????????????????????return render(request, ‘login.html‘, {‘msg‘: msg}) ???????????????????????def index(request): ????msg = "" ????username = request.get_cookie("username"): ????if username: ?????????return render(request, ‘index.html‘, {‘username‘: username}) ???else: ????????return render(request, ‘login.html‘)

一个登陆网站验证身份的简单例子

原文地址:https://www.cnblogs.com/haozike/p/8457075.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved