十四、admin和xadmin后台管理系统 您所在的位置:网站首页 x-admin20 十四、admin和xadmin后台管理系统

十四、admin和xadmin后台管理系统

2022-06-09 05:57| 来源: 网络整理| 查看: 265

后台管理系统特点 权限管理少量的前端样式快速的开发 admin管理界面 访问管理界面

在django中,当用户新建项目的时候,系统会自动生成admin后台管理系统。在settings.py文件中,有这么一条:

INSTALLED_APPS = [ 'django.contrib.admin', ... ]

django 的admin和自己创建的app一样,都配置有url:

url(r'^admin/', admin.site.urls),

可以通过在浏览器中输入下面的url来访问admin管理系统:

http://127.0.0.1:8000/admin/

这里写图片描述

此时并不能进行登录操作,因为django并没有为用户新建身份信息,而我们自己也没有创建用户。

创建用户并登录

进入Run manage.py Task界面,然后输入下面的指令用于创建管理员:

createsuperuser

根据提示输入用户名、密码、邮箱等信息。注意这里系统对密码强度有要求。

然后在登录界面进行登录,可以看到如下界面: 这里写图片描述

这里暂时只能使用用户名进行登录。

配置admin为中文界面

默认下admin为英文界面看着很不爽,所以可以配置为中文界面。在settings.py文件的最后有这么几行:

LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_TZ = True

将这几项改为:

LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_TZ = False

USE_TZ = True会让django在数据库中使用国际时间,从而导致一些时间的问题。使用False来指定使用本地时间。

然后刷新一下admin界面,发现变成中文了: 这里写图片描述

注册user

因为我们重写了diango的user表,所以需要重新注册。

在 user app下有一个admin.py的文件,这个就是用来注册的,打开文件加入以下代码:

# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.contrib import admin from models import UserProfile class UserProfileAdmin(admin.ModelAdmin): pass admin.site.register(UserProfile, UserProfileAdmin)

UserProfileAdmin 是UserProfile的管理器,命名规则是在其本名后面加上Admin,然后使用admin.site.register的方法来注册。

现在打开浏览器刷新,发现用户信息已经注册进来了。 这里写图片描述

USERS为app的名称

然后点击右边的增加可以增加用户的信息: 这里写图片描述

这里的字段就是USERS中models.py中定义的字段,不同的字段类型系统会自动生成不同的控件,如时间、上传文件的控件等。

注意,这里的密码虽然是明文填写,但是在后台保存的是密文,且不能反解。

但是这个admin界面还是不够强大,还有一个xadmin更强大,推荐使用。

xadmin

xadmin是基于django admin的一套后台管理系统,它比admin更强大。

安装xadmin

两种方式:

1、pip安装:

pip install xadmin

这里安装可能出现编码报错,可以参照这篇文章:解决pip安装时的编码错误 注意,链接文章中的README文件必须为utf8编码的。

2、源码安装(我选择的方式): 在https://github.com/sshwsfc/xadmin中下载源码文件。解压后将目录xadmin复制到项目的根目录下。 这里写图片描述

然后根目录下新建一个目录extra_apps用于存放第三方源码包,并把xadmin拖入其中,同时标记extra_apps为source root。

然后在settings.py中添加下面的一行:

注册xadmin

在settings.py中注册xadmin:

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', 'courses', 'operation', 'organization', 'xadmin', 'crispy_forms', ]

然后在urls.py中配置url指向xadmin:

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

然后将user app中的admin.py文件中注册的内容注释掉,因为会出现错误。

完成后重启系统,



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有