一、前言
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
![](https://img.haomeiwen.com/i12386899/45eab38862d20f84.png)
四、移动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
![](https://img.haomeiwen.com/i12386899/bb93676ebd6e5c53.png)
4、数据库多了一张邮箱验证的表
如果你忽略第1步的填充代码,那么这一步也顺便忽略吧...
![](https://img.haomeiwen.com/i12386899/1860c3c0a9f47acd.png)
六、写在最后
后面发现还是发不了邮箱验证码,估计是没安装email依赖或其他原因导致的。先继续吧。。。
网友评论