Django学习笔记(八)--xadmin的安装与应用

本文详细介绍了如何解决Django安装xadmin时遇到的README.rst编码问题,包括从GitHub下载源码,清理文件,手动安装,以及在settings中注册xadmin和crispy_forms。此外,还讲解了通过127.0.0.1/xadmin/访问后台系统,并创建超级用户。最后,展示了如何在xadmin中注册并定制EmailVerifyRecord模型以及添加自定义主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要安装 xadmin :  pip install xadmin



结果出现了一下错误

Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\lixin\AppData\Local\Temp\pip-build-z8cuvfwi\xadmin\setup.py", line 11, in <module>
        long_description=open('README.rst').read(),
    UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 3444: illegal multibyte sequence



错误信息说明是README.rst的编码问题,将其文件清空即可。

这时候先在github下载:https://github.com/sshwsfc/xadmin

下载后将将压缩包里的  README.rst清空并保存,然后在终端进入压缩包目录,输入 :pip install 压缩包名称


这样就成功安装xadmin

接下来还需要在setting中注册,django的开发是基于qpp的,即使是后台管理系统也是

INSTALLED_APPS中增加2个app:xadmin、crispy_forms


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'xadmin',
    'crispy_forms'

]

在 urls.py中编写xadmin的跳转,替代默认的admin

import xadmin

urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
]

数据库同步

makemigrations
migrate


接下来就能通过  127.0.0.1/xadmin/ 来访问我们的后台系统了,如果没有创建超级用户就创建  ,详见http://blog.youkuaiyun.com/javalixy/article/details/78208932


xadmin注册:实现models在xadmin中显示

user app下创建表EmailVerifyRecord

class EmailVerifyRecord(models.Model):
    email_choices = (
        ('register', u'注册'),
        ('forget', u'找回密码'),
    )
    code = models.CharField(max_length=20, verbose_name=u'验证码')
    email = models.EmailField(max_length=50, verbose_name=u'邮箱')
    send_type = models.CharField(choices=email_choices, max_length=10, verbose_name=u'验证码类型')
    send_time = models.DateTimeField(default=datetime.now, verbose_name=u'发送时间')


在创建的app下创建adminx.py文件(注意:必须是adminx命名)
import xadmin
from .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.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

这样就能看到



添加xadmin主题:

在user app中的xadmin.py中添加:

from xadmin import views
 
class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True
 
xadmin.site.register(views.BaseAdminView, BaseSetting)

全局应用

页头和页尾自定义:

在user app中的xadmin.py中添加:

class GlobalSettings:
    site_title = 'oldbig的后台管理系统'
    site_footer = 'oldbig'
    menu_style = 'accordion'    #左侧app中文名称定义和多表紧缩




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值