[Django] Django(九) 用户认证

本文详细介绍了Django中的用户认证系统,包括User对象的创建、超级用户的生成、密码更改与验证,以及如何自定义User模型。同时,讨论了在自定义User时可能遇到的错误和解决方案。此外,还探讨了Web请求的认证,如用户登录、登出以及如何限制未登录用户访问特定页面的方法。
摘要由CSDN通过智能技术生成

Django中的用户认证概述

Django带有一个用户认证系统,它负责处理用户账户、组、权限以及用户会话cookie。认证系统包括认证和授权(authentication 和 antuorization),认证是对一个系统声明的用户进行验证,授权是决定哪个已经认证的用户允许做什么。认证系统包括:

  • 用户(Users)
  • 权限(Permissions)
  • 用户组(Groups)
  • 一个可配置的密码散列系统
  • 表单和查看工具,用于登录用户或限制内容
  • 可插入的后端系统
  • *

安装

认证在django.contrib.auth包中作为Django contrib模块捆绑在一起。 默认情况下,所需的配置已包含在由django-admin startproject生成的settings.py中,这些配置由INSTALLED_APPS设置中列出的两个项目组成:

  • 'django.contrib.auth':包含认证框架的核心,以及它的默认模型。
  • 'django.contrib.contenttypes':是Django内容类型系统,它允许权限与创建的模型相关联。

1.User对象

User对象是认证系统的核心, 它代表访问网站的人,可以用于启用限制访问、注册用户配置文件、管理创建者和内容等。在认证框架中,User对象只有一个类:django.contrib.auth.models.User,超级用户或管理员用户是仅仅具有一些特殊属性的用户,而不是不同的User类。默认主要属性有:
username:
passoword:
email:
first_name:
last_name:

创建用户

创建用户最直接的方式是通过create_user()函数:

>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')

# At this point, user is a User object that has already been saved
# to the database. You can continue to change its attributes
# if you want to change other fields.
>>> user.last_name = 'Lennon'
>>> user.save()

create_user(username, email=None, password=None, **extra_fields)

创建超级用户

通过如下命令创建超级用户:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值