首页 > 其他 > 详细

自定义用户模型(一)

时间:2019-08-08 22:39:04      阅读:112      评论:0      收藏:0      [点我收藏+]

一、自定义User模型

如果不想使用django内置的权限系统,当然你需要自定义用户模型,这种情况不讨论。当然也不建议这么做,django内置权限系统有大的自定义功能扩展,而不是重复造轮子。

开启一个新项目,官方强烈推荐用户自定义用户模型,即是默认的用户模型目前已经足够,但是未来可能会要扩展。

from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
  pass

注意:在这里我们需要在settings中指定AUTH_USER_MODEL=‘User模型的路径‘

如下图所示,我们重写了User模型,以及UserManager管理器,在User中,我们新增了字段mobile和email_active,在UserManage中添加了在使用createsuperuser命令创建用户时,必须添加email字段

技术分享图片

技术分享图片

创建完之后,使用下面两条命令进行数据库的迁移:

python manage.py makemigrations

python manage.py migrate

二、功能需求分析

2.1设计接口思路

分析业务逻辑,明确在该业务中需要几个子业务,每个业务用一个相关的接口来实现

分析接口的功能任务,以及接口的请求方式以及返回的数据:

请求方式:get,post,put,delete,等

接口的路径定义

需要接受的参数以及参数的类型(如路径参数,查询字符串,请求表单,json等)

返回的数据以及数据格式

三、图形验证码功能实现

按照(二)介绍的,分析该接口的设计思路

首先,分析接口说明

类目 说明
请求方法 get
URL定义 /image_code/
参数格式 查询参数

参数说明:

参数名 类型 是否必须 描述
rand 字符串 输入的用户名

 如下图所示(views.py),为图形验证码接口的后端代码:

验证码的生成是python的pillow库实现的:

技术分享图片

如下图所示(urls.py):

技术分享图片

如下图所示,是前端的js代码:

技术分享图片

四、注册页面

类目 说明
请求方式 get
url定义 /user/register
参数 无参数

后端代码(views.py)如下图所示:

技术分享图片

 

urls.py如下所示:

技术分享图片

 

到此,我们已经完成了用户注册的前面的两个功能,用户注册和图形验证码功能,谢谢大家的观看,希望对你有帮助!!!

自定义用户模型(一)

原文:https://www.cnblogs.com/llb1012/p/11324212.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!