美文网首页
Django项目用户注册功能(一)

Django项目用户注册功能(一)

作者: 违心唯心 | 来源:发表于2019-08-08 12:48 被阅读0次

    用户注册功能

    1.实际上就是数据库创建一条数据

    2.Django操作数据库的模型

    一.用户模型设计(表的设置)

    1.表字段的分析

    • 账号
    • 密码
    • 手机
    • 邮箱
    • 邮箱是否有效

    2.用户模型设置

    Django的开发效率很高,内置了很多功能,例如:权限验证

    建议最好自定义User的模型(可延展性)

    一个模型就是一个类

    二.功能需求分析

    1.接口设计思路

    • 分析业务逻辑,明确需要设计的几个相关业务,将每个子业务当做一个接口分析
    • 分析接口的功能,明确接口的访问方式以及返回数据
      • 接口的请求方式 GET PUT POST DELETE
      • 接口的URL定义
      • 需要接受什么参数(路径,查询参数,表单,json)
      • 返回的数据以及数据格式

    2.注册功能分析

    1. 流程
    2. 功能接口
      发送一次请求,就要一个接口
    • 注册页面
    • 图形验证码
    • 用户名校验
    • 手机号码校验
    • 短信验证码
    • 注册保存用户数据

    三.注册页面

    1.接口设计

    1.1说明

    条目 说明
    请求方法 GET
    url定义 /user/register/
    参数格式 无参数

    1.2返回的数据

    注册页面的 html

    2.1视图


    03user_views.jpg

    2.2url


    04user_urls.jpg

    四.图形验证码功能

    1.接口设计

    1.1说明

    条目 说明
    请求方法 GET
    url定义 /image_code/
    参数格式 查询参数

    1.2参数说明

    条目 类型 是否必须 描述
    rand 字符串 随机浮点数字符串

    1.3返回数据

    验证码图片

    01views.jpg
    def image_code_view(request):
        '''
        生成验证码
        url : '/image_code/'
        :param request:
        :return:
        '''
        #1.生成验证码,随机生成字符串,生成图片
        text ,image = captcha.generate_captcha()
        #2.后端保存验证码,为了校验
        #保存在session中
        request.session['image_code']=text
        request.session.set_expiry(constants.IMAGE_CODE_EXPIRS)
        #过期时间
        #3.记录日志
        logger.info('Image code:{}'.format(text))
        #4.返回验证码图片
        return HttpResponse(content=image,content_type='image/jpg')
    

    五.点击刷新

    05js.jpg
    $(()=>{
        //1.点击刷新验证码
        $('.captcha-graph-img img').click(function () {
            $(this).attr('src','/image_code/?rand=' + Math.random())
        });
    

    注意要在
    register.html 里面挖坑填坑

    06register.jpg

    最后上传码云

     $ git add .
     $ git commit -m 'update projects'
     $ git push origin master
    

    相关文章

      网友评论

          本文标题:Django项目用户注册功能(一)

          本文链接:https://www.haomeiwen.com/subject/vlltjctx.html