Part05 完善用户管理

一、前言

1、目前用户管理中,邮箱验证是无法使用的。
2、需要我们手动补充代码完善邮箱验证功能(除此之外,后面的全局设置也依赖于这个用户管理模块)。
3、Let's go!

二、目录结构总览

1、本part,我们在这个结构下进行代码填充:

Project 目录 (Django-Xadmin学习项目)
|
|-- app         (应用程序目录)
|   |-- users  (用户管理文件夹)
|   |   `-- models.py
...

三、新建users APP

1、使用pycharm创建app,Tools 工具栏运行 run manage.py Task,输入:

startapp users
Part05 完善用户管理_第1张图片

四、移动users文件夹

1、依照第二章目录结构,移动users文件夹到app文件夹下。

五、填充代码

后面发现这个邮箱验证的代码没有作用,可以忽略第1步的填充代码

1、在project/app/users/models.py,填充代码:

# -*- coding: utf-8 -*-
from datetime import datetime
from django.db import models


# Create your models here.
class EmailVerifyRecord(models.Model):
    """邮箱验证码models"""
    code = models.CharField(max_length=20, verbose_name=u'验证码')
    email = models.EmailField(max_length=50, verbose_name=u'邮箱')

    # 邮箱验证码有两种类型:注册和找回忘记的密码
    send_type = models.CharField(choices=(('register', u'注册'),('forget',u'找回密码')), max_length=10)

    # 验证码发送时间
    # 这里注意now后面不能加(),加了时间就是类编译的时间,不加就是实例化的时间,这里是需要实例化时间
    send_time = models.DateTimeField(default=datetime.now)

    class Meta:
        verbose_name = u'邮箱验证码'
        verbose_name_plural = verbose_name

2、在project/xadmin_learn/settings.py中注册app:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 添加以下两个app配置
    'xadmin',
    'crispy_forms',
    'app.users',  # 注册App
]

3、在数据库生成新定义的表,Tools 工具栏运行 run manage.py Task输入:

makemigrations users
migrate users
Part05 完善用户管理_第2张图片

4、数据库多了一张邮箱验证的表

如果你忽略第1步的填充代码,那么这一步也顺便忽略吧...

Part05 完善用户管理_第3张图片

六、写在最后

后面发现还是发不了邮箱验证码,估计是没安装email依赖或其他原因导致的。先继续吧。。。

你可能感兴趣的:(Part05 完善用户管理)