当前位置: 首页 > article >正文

【超详细实操内容】django的身份验证系统之User对象

目录

什么是User对象?

准备工作

1、创建项目和应用

2、做数据迁移,生成auth_user表,用于存放用户信息

3、验证迁移是否成功,auth_user表是否生成

创建用户(普通用户和超级用户)

1、定义视图函数

2、创建子路由,将路由与视图函数绑定

3、配置主路由(只需配置一次即可)

4、启动服务,访问浏览器

5、去数据库查看auth_user表的数据

6、用上面创建的两个用户分别进入后台管理系统

修改密码

1、定义视图函数

2、定义路由绑定视图函数

3、启动服务,浏览器访问:

验证用户

1、新建 login.html 文件

2、定义视图函数

3、定义路由绑定类视图

4、启动服务,浏览器访问,提交表单


什么是User对象?

User对象是身份验证系统的核心,它代表了与网站交互的人员。

User类提供了创建普通用户的方法createuser()和创建超级用户的方法createsuperuser()。

默认情况下,通过User类创建的用户默认保存在数据表auth_user中(意味着需要做数据迁移)

超级用户的issuperuser与isstaff字段为1,普通用户的issuperuser与isstaff字段为0。

准备工作

1、创建项目和应用

创建项目:django-admin startproject proj7

进入项目文件夹:cd proj7

创建应用:python manage.py startapp app1

添加应用:在settings.py中设置

2、做数据迁移,生成auth_user表,用于存放用户信息

生成迁移文件:python manage.py makemigrations app1

执行迁移文件:python manage.py migrate

3、验证迁移是否成功,auth_user表是否生成

使用 . quit 命令退出数据库

创建用户(普通用户和超级用户)

创建普通用户:createuser() 创建超级管理员:createsuperuser()

1、定义视图函数

from django.contrib.auth.models import User
from django.http import HttpResponse
from django.shortcuts import render

# 定义视图函数,创建用户
def create(request):
    """创建用户"""
    # 创建普通用户
    u1 = User.objects.create_user('xiaoming','xiaoming@xx.com','xiaoming123')
    u1.save()  # 把对象保存到auth_user表中
    # 创建超级管理员
    u2 = User.objects.create_superuser('xiaoli','xiaoli@xx.com','xiaoli123')
    u2.save()
    return HttpResponse('创建用户成功!')

2、创建子路由,将路由与视图函数绑定

在app1下新建 urls.py文件

app1/urls.py

from django.urls import path
from . import views
urlpatterns = [
    path('create/',views.create),
]


http://www.kler.cn/a/440926.html

相关文章:

  • 科技快讯 | 开源鸿蒙5.0版本即将亮相;英国测试AI摄像头抓酒驾;Kimi 发布视觉思考模型 k1
  • 单元测试知识总结
  • FFMPEG视频转图片
  • 【大模型微调学习6】-实战Hugging Face Transformers工具库
  • 太速科技-365-基于XC7Z045+AD9361的双收双发无线电射频板卡
  • ubuntu24.04、win11配置pysot
  • 代码随想录-算法训练营-番外(图论03:孤岛的总面积,沉没孤岛,水流问题,建造最大岛屿)
  • vue子组件在什么情况下会更新
  • 按键精灵苹果 iOS 脚本工具的基本编写方法
  • 【Prompt Engineering】5 文本转换
  • 3GPP协议解读_物理层系列(二)_RB SB SC什么关系?
  • 【代码随想录|动态规划02】
  • 【日期规则】EXCEl 自定义日期匹配规则,学习基础知识,自由匹配场景
  • vue+node+mysql8.0,详细步骤及报错解决方案
  • 【uni-app】微信小程序引入lime-echart并使用
  • 自动驾驶控制与规划——Project 2: 车辆横向控制
  • Python:跨文件实现字符串填充
  • 2024-2030全球与中国E-ink电子铭牌市场现状及未来发展趋势
  • 3D目标检测数据集及评价指标
  • 【前端】html学习记录