Django xadmin的使用 (一)
Django xadmin的使用
xadmin是django的一个第三方的管理后台实现,它的功能比自带的admin功能更加强大。
xadmin项目在github上的地址为:https://github.com/sshwsfc/xadmin
xadmin相关文档可以在这里查看:https://xadmin.readthedocs.io/en/latest/index.html
这里简要总结下自己集成xadmin的方法,我使用的是django1.10和python3.52,xadmin是0.60。
1. 从上面github地址下载 xadmin(网上有说直接pip安装的,但我这里安装失败,可能是python3的缘故吧)。

并根据requirements.txt 安装所需要的模块。
2.创建一个新的project,并将上面目录中的xadmin目录拷贝到新的project下。

3.在项目中添加xadmin配置
1)settings.py文件
INSTALLED_APPS中添加xadmin的安装,文档网站上是这样写的:
INSTALLED_APPS = (
...
'xadmin',
'crispy_forms',
'reversion',
...
)

2)urls.py文件
urls里面要添加xadmin的匹配,示例如下:
from django.conf.urls import patterns, include, url
from xadmin.plugins import xversion
import xadmin
#version模块自动注册需要版本控制的 Model
xversion.register_models()
xadmin.autodiscover()
urlpatterns = [
...
url(r'xadmin/', include(xadmin.site.urls)),
]

4.创建一个app,写models,将app注册。
python manage.py startapp hys_datamanagement

models:
from django.db import models class UserInfo(models.Model):
"""用户表"""
user_name = models.CharField(max_length=20, unique=True, verbose_name=u"负责人") # 负责人
user_email = models.EmailField(null=True, blank=True, verbose_name=u"邮箱") # 邮箱
user_mobile = models.BigIntegerField(verbose_name=u"电话") # 电话 class Meta:
db_table = 'user_info'
verbose_name = '用户表'
verbose_name_plural = "用户表" def __str__(self):
return self.user_name
然后再注册app:

5.修改数据库连接信息,配置 Django 以便与 Oracle 数据库交互。
由于本次示例使用oracle数据库现有数据,所以配置连接oracle
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'orcl',
'USER': 'hys_datamanagement',
'PASSWORD': 'hys_datamanagement',
'HOST': '192.168.168.224',
'PORT': '1521',
}
}
注:创建数据库用户的语句:
create user hys_datamanagement identified by hys_datamanagement;
grant connect,resource to hys_datamanagement;
然后创建数据库表:
python manage.py makemigrations
python manage.py migrate
效果:

6.配置adminx.py文件
django自带的admin模块使用的是admin.py文件,xadmin模块的文件名则叫adminx.py。
admin模块在配置时使用的参数是admin.ModelAdmin,xadmin则使用object即可。然后替换admin.site.register为xadmin.site.register。如下:

# from django.contrib import admin
from .models import UserInfo
import xadmin class UserInfoAdmin(object):
list_display = ('user_name', 'user_email', 'user_mobile') xadmin.site.register(UserInfo, UserInfoAdmin)
然后就可以启动服务,看看效果了:
访问 http://127.0.0.1:8000/xadmin/

通过命令 python manage.py createsuperuser 创建超级用户。

登录后:

至此,基本配置就完成了。
Django xadmin的使用 (一)的更多相关文章
- Django+xadmin打造在线教育平台(二)
三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip ...
- Django+xadmin打造在线教育平台(三)
五.完成注册.找回密码和激活验证码功能 5.1.用户注册 register.html拷贝到templates目录 (1)users/views.py class RegisterView(View): ...
- Django+xadmin打造在线教育平台(一)
目录 在线教育平台(一) 在线教育平台(二) 在线教育平台(三) 在线教育平台(四) 在线教育平台(五) 在线教育平台(六) 在线教育平台(七) 在线教育平台( ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- Django xadmin引入DjangoUeditor
Django xadmin引入DjangoUeditor 版本:python3.6.1,Django1.11.1 DjangoUeditor下载地址:https://github.com/twz915 ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- 第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1
第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1 1.检查系统是否安装了python [root@192 ~]# rpm -qa ...
- 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6
第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...
- 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置
第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...
- 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置
第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这 ...
随机推荐
- 两台linux完美实现双机热备【来源网络尚未实践】
[来源:http://rainbird.blog.51cto.com/211214/225541/] 一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必 ...
- 【angularJS】Service服务
AngularJS 中的服务是一个函数或对象.可以创建自己的服务,或使用内建服务. 内置服务 AngularJS 内建了30 多个服务. 1. $location 服务,它可以返回当前页面的 URL ...
- modelsim仿真常用系统函数
(1)$time 作用:返回所在模块的仿真时间,可以查看信号的出现的时间,用来把握信号的时序. 如:$display(''the time is %t'',$time) ;//显示当时的时间 (2)$ ...
- CH1802 表达式计算4
题意 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数据可能会出现括号情况,还有可能出现多余括号情况 数据保证不会出现>=2^31的答案 数 ...
- Centos7.x破解密码
Centos7.x破解密码 centos7 破解密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 .在启动grub菜单,选择编辑选项启动 14 ...
- python自动发送邮件
Python 的 smtplib 模块提供了发送电子邮件的功能.测试报告出来后,然后就把报告发送到邮箱. 一.先来看简单的列子 使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码. 邮箱 ...
- kotlin与fastjson的异常
出现这个原因是因为kotlin的非空特性. 如果一个类中声明了一个字段(kotlin的特性,该字段默认是非空的), 使用fastjson进行转化的时候,如果json数据中没有该字段的数据,则会出现转换 ...
- 电脑桌面文件图标经常显示异常&&右键桌面文件属性不显示
桌面图标经常失效,但文件可以正常点开使用. 右键桌面文件的属性,电脑无反应. 解决方法 ① cmd-sfc/scannow 此方法无效 ② 点击上图的运行疑难解答,最终找到问题,重启后解决! PS 型 ...
- DOM的基本概念
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...
- POJ 2549 Sumsets(折半枚举+二分)
Sumsets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11946 Accepted: 3299 Descript ...