5.3.xadmin的使用
在之前的章节中,我们已完成EmailVerifyRecord model的编码,本节中,我们将注册EmailVerifyRecord 模块到xadmin中
EmailVerifyRecord 内容如下:
users/models.py
from datetime import datetime
from django.contrib.auth.models import AbstractUser
from django.db import models
class EmailVerifyRecord(models.Model):
code = models.CharField(max_length=20, verbose_name='验证码')
email = models.EmailField(max_length=50, verbose_name='邮箱')
send_type = models.CharField(max_length=8, choices=(('register', '注册'), ('forget', '找回密码')), verbose_name='验证码类型')
send_time = models.DateField(default=datetime.now, verbose_name='发送时间')
class Meta:
verbose_name = '邮箱验证码'
verbose_name_plural = verbose_name
def __str__(self):
return '{0}({1})'.format(self.code, self.email)
步骤
注册module到xadmin后台
应用apps下新建adminx.py,内容如下:
users/adminx.py
import xadmin
from users.models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):
pass
xadmin.site.retister(EmailVerifyRecord, EmailVerifyRecordAdmin)
配置显示项
通过list_display配置显示项
import xadmin
from users.models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):
list_display = ['code', 'email', 'send_type', 'send_time']
xadmin.site.retister(EmailVerifyRecord, EmailVerifyRecordAdmin)
配置查找项
通过search_fields配置查找项
通过list_filter配置筛选项
import xadmin
from users.models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):
list_display = ['code', 'email', 'send_type', 'send_time']
search_fields = ['code', 'email', 'send_type']
list_filter = ['code', 'email', 'send_type', 'send_time']
xadmin.site.retister(EmailVerifyRecord, EmailVerifyRecordAdmin)
提示:若要通过外键的表字段筛选,请使用“外键__外键字段”的形式,如下
list_filter = ['counrse__name']
Last updated
Was this helpful?