上一节讲解了xadmin的安装, 这一节讲各app的model注册到xadmin中.
1. Users app的model注册
a. 新建adminx.py文件
users文件夹右击--New--Python File, 命名为adminx.py. 这样xadmin会自动搜索各app下名为adminx的文件作为admin配置文件.
以下是新建adminx.py后代码区自动生成的代码.
--->插播
作者和日期是在settings中的file and code templates中设置的, 如下图所示.
插播结束<---
b. 配置adminx.py
__author__ = 'Elvan'
__date__ = '2017/8/6 20:25'
import xadmin
from .models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):
pass
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
c. 浏览器验证
"邮箱验证码"这几个字已经出现在左边.
为什么是邮箱验证码这几个字呢, 原因是models中的verbose name有设定.
点击页面右侧的+增加 邮箱验证码
点击后显示页面如下:
可以看到有两个字段用英文显示, 为何呢? 原因这两个字段没有设置verbose name.
在models中对这两个字段设置verbose name.
class EmailVerifyRecord(models.Model): # 邮箱验证码功能
code = models.CharField(max_length=20, verbose_name="验证码")
email = models.EmailField(max_length=50, verbose_name="邮箱")
send_type = models.CharField(choices=(("register", "注册"), ("forget", "找回密码")), max_length=10, verbose_name="发送类型") # 增加verbose name
send_time = models.DateTimeField(default=datetime.now, verbose_name="发送时间") # 增加verbose name
修改后刷新页面, 这两个字段已经变成中文.
d. 增加验证码
按下图填写好内容之后, 点击保存.
点击保存后回到xadmin主页, 显示修改成功.
但是邮箱验证码的记录显示"EmailVerifyRecord object", 并不能显示更能识别记录本身的内容.
e. models中重写__unicode__方法
class EmailVerifyRecord(models.Model):
code = models.CharField(max_length=