您的位置:首页 > 编程语言 > Go语言

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

2017-10-15 14:44 260 查看
首先需要安装 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.csdn.net/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中文名称定义和多表紧缩

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: