django8.1 内建的用户系统

基本模型操作:

  1. 创建用户:
from django.contrib.auth.models import User
user = User.objects.create_user(username='',password='',email='',.....)

  1. 创建超级用户:
from django.contrib.auth.models import User
user = User.objects.create_superuser(username='',password='')
  1. 删除用户:
from django.contrib.auth.models import User
try:
    user = User.objects.get(username='用户名')
    user.is_active = False
    user.save()
    print("删除普通用户成功")
except:
    print("删除普通用户失败")
  1. 校验密码:
from django.contrib.auth.models import User
user = authenticate(username=username,password=password)

  1. 修改密码:
from django.contrib.auth.models import User
try:
    user = User.objects.get(username='')
    user.set_password('')
    user.save()
    return HttpResponse('修改密码成功')
except:
    return HttpResponse('修改密码失败')
  1. 登录状态保持:
from django.contrib.auth import login
def login_view(request):

    user = authenticate(username=username,password=password)

    if user:
        login(request,user)
  1. 登录状态校验:
from django.contrib.auth.decorators import login_required
@login_required

def index_view(request);

    login_user = request.user
  1. 登录状态取消:
from django.contrib.auth import logout
def logout_view(request);
    logout(request)
  1. 扩展字段:
  2. 方案一: 自己创建个应用,再创建个表,把自己创建的表和内建的表做一个1对1,一对一映射,让新表的数据和内建的表产生关联。
  3. 方案二(推荐):继承內建的抽象user模型类(抽象user模型类指的是可以把它的所有字段继承过来)
    1. 步骤:
    2. 添加新的应用。
    3. 定义模型类,继承AbstractUser
    4. settings.py中指明AUTH_USER_MODEL=’应用名.类名’
    5. 注意:此操作要在第一次makemigrations migrate之前进行。确保当前那个auth_user表没有被初始化出来。
    6. 举例:
    7. 创建应用(记得注册): python manage.py startapp user
    8. 定义模型类:
from django.db import models
from django.contrib.auth.models import AbstractUser
class UserInfo(AbstractUser):
    phone = models.CharField(max_length=11,default='')
  3. 在settings中配置: AUTH_USER_MODEL='user.UserInfo'
  4. 数据库迁移,生成表: python manage.py makemigrations ; python manage.py migrate
  5. 添加用户:(在django shell中就挺方便,python manage.py shell启动)
from user.models import UserInfo
UserInfo.objects.create(username='',password='',phone='')

Original: https://blog.csdn.net/weixin_44032178/article/details/122574736
Author: BreezeChasingDrizzle
Title: django8.1 内建的用户系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/736133/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python函数之内置函数 模块

    abs 绝对值函数 round 四舍五入 奇进偶不进 n.5的情况特定发生 sum 计算一个序列得和 max 获取一个序列里边的最大值 min 获取一个序列里边的最小值 max /…

    Python 2023年11月9日
    036
  • 解决MySql ERROR 1698

    在Ubuntu服务器上安装MySql 数据库,数据库安装见前面的博客。但是在登陆的时候遇到了问题: ~$ mysql -u root -p Enter password: ERRO…

    Python 2023年8月5日
    037
  • 抛开2020,我来了,2021!!

    或许今年对属狗的不太友好,发生了好多好多事情,多的让我喘不过气,好在现在快接近年末了,我挺过来了,好在我的太太还在我的身边支持我! 很久没写博客了,差不多2年了,我一直问自己,真的…

    Python 2023年6月12日
    068
  • Mac上搭建python3.x + Pycharm + Django框架

    这两天想学习Django,搭建的时候试了网上很多方法,最后成功了,总结一下经验 1.安装python 3.x 参考文章:https://www.cnblogs.com/lilyo/…

    Python 2023年8月5日
    039
  • Unity 性能优化总结

    影响性能的因素 造成游戏性能瓶颈的主要原因分成以下几个方面:(1)CPU1.过多的 draw call2.复杂的脚本或者物理模拟(2)GPU1.顶点处理过多的顶点、过多的逐顶点计算…

    Python 2023年9月30日
    028
  • 黑科技编程开发,利用Python使图片完美去除水印

    网上下载的 pdf 学习资料有一些会带有水印,非常影响阅读。比如下面的图片就是在 pdf 文件上截取出来的。 安装模块 干货主要有: ① 200 多本 Python 电子书(和经典…

    Python 2023年11月9日
    042
  • Python tkinter库

    简介 Tkinter模块是Python系统自带的标准GUI库,具有一套常用的图形组件 基本组件 Button 按钮 Canvas 画布,用于绘制直线、椭圆、多边形等各种图形 Che…

    Python 2023年8月1日
    052
  • 格式化DataFrame中的时间数据DataFrame.to_datetime()方法

    小白从小学Python、C、Java】【计算机等级考试+500强双证书】【Python-数据分析】格式化DataFrame中的时间数据DataFrame.to_datetime()…

    Python 2023年8月8日
    037
  • pytest(一)简介及用例执行顺序

    将插件放到requirements.txt中,通过pip install -r requirements.txt安装插件。 参数详解: -s:输出调试信息,包括print打印的信息…

    Python 2023年9月9日
    038
  • 100天精通Python(数据分析篇)——第63天:Pandas使用自定义函数案例

    ### 回答1: 这个问题的意思是询问一个学习 Python 数据分析_的 _100 天_计划,我的回答如下: _Python 数据分析_是非常重要的技能之一,学习它需要长时间的实…

    Python 2023年7月31日
    045
  • ChatGPT写的一篇数字化转型文章

    文末附ChatGPT调戏链接,无需注册登录直接使用。 数字化转型是指企业利用数字技术来改善业务流程、增强竞争力和降低成本。它旨在帮助企业更快、更有效地实现业务发展和创新,并为客户提…

    Python 2023年11月4日
    034
  • ClassLoader-在spring中的应用

    标题起的挺大,忽悠人的。其实是我跟着视频学习手写模拟spring底层原理中遇到的问题,关于classLoader的几行代码,不知道是什么意思,所以特地来记下笔记。 关于ClassL…

    Python 2023年11月6日
    034
  • ChatGPT:探索RLHF与GPT的完美结合

    前言 ChatGPT已经发布一周了热度依旧不减,ChatGPT也各种大显神通,为各大网友”出谋划策”,有写周报的,有写绩效的甚至还有写论文的,作为一个NLP…

    Python 2023年11月3日
    031
  • Pandas处理excel数据笔记(数据透视|多条件筛选)

    遇到复杂条件下海量的数据透视任务,excel难以驾驭。如对不同部门在不同年份吸收了什么学历的员工,pandas的筛选发挥了神奇的作用。 一、导包 pip install panda…

    Python 2023年8月7日
    039
  • Python编程:从入门到实践——-外星人入侵

    文章目录 前言 一 、在Linux上安装python,Pygame 二、游戏项目 三、所遇问题 四、运行结果 前言 这学期学习了Linux与python基础,老师建议学习Pyhto…

    Python 2023年9月23日
    052
  • Django使用新浪邮箱发送邮件

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Django使用新浪邮箱发送邮件 一、参考的资料 二、遇到的问题 一、参考的资料 刘江Django博客教程:11….

    Python 2023年8月5日
    050
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球