十四、admin和xadmin后台管理系统 | 您所在的位置:网站首页 › x-admin20 › 十四、admin和xadmin后台管理系统 |
后台管理系统特点
权限管理少量的前端样式快速的开发
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 = FalseUSE_TZ = True会让django在数据库中使用国际时间,从而导致一些时间的问题。使用False来指定使用本地时间。 然后刷新一下admin界面,发现变成中文了: 因为我们重写了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更强大,推荐使用。 xadminxadmin是基于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 实验室设备网 版权所有 |