Django create_user with is_active=False

Django create_user with is_active=False
下面的内容来自官方文档is_active

布尔值。指示用户的账号是否激活。我们建议把这个标记设置为False 来代替删除账号;这样的话,如果你的应用和User 之间有外键关联,外键就不会失效。

它不是用来控制用户是否能够登录。认证的后端没有要求检查is_active 标记,而且默认的后端不会检查。如果你想在is_activeFalse 时拒绝用户登录,你需要在你自己的视图或自定义的认证后端中作检查。但是,默认的login() 视图使用的AuthenticationForm 却会 作这个检查,正如在Django 的Admin 站点中所做的权限检查方法如has_perm() 和认证一样。对于未激活的用户,所有这些函数/方法都返回False

 

 

这里要说的就是将is_active设置为False,来阻止刚 注册的用法登陆

            password = password1user_profile = UserProfiles()user_profile.username = user_nameuser_profile.email = user_nameuser_profile.is_active = Falseuser_profile.password = make_password(password)user_profile.save()

 这里是第一种比较笨办法中的一段代码: 简单粗暴,直接实例化一个对象将其is_active设置为False

 

但是Django自带的auth模块中有更简单的办法, create_user

看下面源码:

    def create_user(self, email, password=None, **extra_fields):is_staff = extra_fields.pop('is_staff', False)return self._create_user(email=email, password=password, is_staff=is_staff, is_superuser=False,**extra_fields)

 很显然, 常见的字段只有email, password, is_staff, is_supersuer etc. 但是还有一个**extra_fields,

关键就在这个extra_fields中,它可以指定其它所有的字段的值.

下面对上面笨办法的一个补充:

            UserProfiles.objects.create_user(username=user_name, password=password1, is_active=False)

 这里的UserProfiles 和上面的UserProfiles都是自定义的继承自User的Model,如果你没有重写User,这里需要先导入User

from django.contrib.auth.models import User
User.objects.create_user(username=user_name, password=password1, is_active=False) # 并改成这样

 同样的道理,其它字段也可以自己指定.

posted on 2018-03-12 20:04 Andy_963 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Andy963/p/8551458.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android kotlin实现底部导航栏

1、实现效果,可点击或者滑动切换fragment 点击 滑动 实现方法: 1、创建三个fragment.kt 2、创建fragmentAdapter class MyFragmentAdapter(fragmentManage…

jeecg富文本编辑器增加字体(仿宋)

jeecg富文本编辑器增加字体(仿宋) jeecg富文本编辑器增加字体(仿宋) 温馨提示:jeecg 提供了 uedit 富文本的实现,如下针对的是 uedit 增加仿宋字体示例。 主要修改三个文件:plug-in\ueditor\ueditor.config.js、plug-in\ueditor\lang\en\en.…

Android kotlin使用RecyclerView实例

1、创建entity类 class InternentBarEntity {var bname: String? nullvar barea: String? nullvar badddata: String? nullvar bimage: String? nullvar bid: String? null } 2、创建adapter类 /***作者:created by meixi*邮箱:15913707499…

DNS记录类型

在之前的文章中,我们了解了什么是DNS以及DNS如何工作,现在让我们来看看 DNS 记录有哪些种类,以及它们有什么作用。 要理解不同的 DNS 记录,首先必须了解区域文件是什么? 我们来解释一下各部分分别表示什么: A 和 AAAA…

Android 频道管理,可拖动item排列,删除,添加

样式效果 1、创建自定义GridView /*** 作者:created by meixi* 邮箱:15913707499163.com* 日期:2019/5/31 13*/public class DragGridView extends GridView {/** 点击时候的X位置 */public int downX;/** 点击时候的Y位置 */public int dow…

2019王小的Java学习之路

文章背景 身边有个非常要好的朋友王某某,因为是发小的关系,之后文章统称为王小。 大专毕业后 顺利 的被安排进了某某工厂工作,工作一段时间后,尽管工作比较轻松,却无法忍受终日的流水线生活,经过我的介绍&…

JVM入门到放弃之基本概念

1. 基本概念 jvm 是可运行Java代码的假想计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 jvm 是运行在操作系统之上的,屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在 jvm 上运行的字节码…

java线程并发库之--线程同步工具Exchanger的使用

Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据。今天我们就通过实例来学习一下Exchanger的用法。 Exchanger的简单实例 Exchanger是在两个任务之间交换对象的栅栏,当这些任务进入栅栏时,它们…

了解JVM运行时的内存分配

前言 上文中,在介绍运行时数据区域中的 JAVA 堆时,提到了 JVM 中的堆,一般分为三大部分:新生代、老年代、永久代,本文将进一步了解运行时的内存分配情况。 正文 1.新生代主要用来存放新生(new)的对象。一般占据堆的 …

C#:继承过程中的静态成员

在知乎上看到一个关于“泛基“的实现&#xff0c;感觉挺有意思&#xff0c;想试试效果&#xff0c;代码如下&#xff1a; public abstract class MyBase<T> where T : MyBase<T>{public static string DataForThisType { get; set; }public static T Instance { ge…

Android 分享功能大全

实现效果&#xff1a; 实现步骤&#xff1a; 1、配置SDK 2、 配置平台SDK demo云盘链接&#xff1a;https://pan.baidu.com/s/1DRr85PKtVpuexfyCc2jwsg 在线交流密码&#xff1a;QQ1085220040 demo链接&#xff1a;https://download.csdn.net/download/meixi_android/112506…

Android list转xml

1、实体类class KeyValue {private String name;private String value;public KeyValue(String name, String value) {this.name name;this.value value;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getValue…

fiddler手机端抓包配置

首先&#xff0c;你得安装fiddler&#xff0c;这是前提条件&#xff0c;手机抓包有必须条件&#xff1a; 需要保持电脑和手机在同一个局域网中 &#xff08;这一点&#xff0c;我一般会在电脑上启动一个wifi&#xff0c;然后手机连接即可&#xff09; 下面说一下如何配置&#…

垃圾回收与算法

前边讲到 JVM 运行时内存的地方&#xff0c;关于新生代、老年代中 GC 垃圾回收以及垃圾回收算法&#xff0c;不知是否有点懵懵的&#xff0c;这篇一起了解一下垃圾回收以及垃圾回收算法。 一、垃圾回收需要完成的三件事 哪些内存需要回收&#xff1f;——垃圾对象&#xff08;如…