zoukankan      html  css  js  c++  java
  • 自定义用户模型(一)

    一、自定义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如下所示:

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

  • 相关阅读:
    点击button先执行js在执行后台代码客户端判断控件是否为空
    VNC远程登录端使用经验之一
    TB平台搭建之一
    能力不足之 根据时序图转化为Verilog代码
    Verilog之语句位置
    verilog 1995 VS 2001 part1模块声明的扩展
    verilog $fopen 函数的小缺陷
    tab key usage
    poj2184 Cow Exhibition
    hdu2546 饭卡
  • 原文地址:https://www.cnblogs.com/llb1012/p/11324212.html
Copyright © 2011-2022 走看看