xAdmin 是 Django 的一个高级管理界面插件,其功能远超 Django 自带的 admin 界面。xAdmin 的 GitHub 地址为:https://github.com/sshwsfc/xadmin,文档可以在 这里 查看。
以下是我在 Django 1.10 和 Python 3.52 环境下集成 xAdmin 的简要步骤,xAdmin 版本为 0.60。
1. 获取 xAdmin
建议从 GitHub 上克隆 xAdmin 仓库,虽然也可以尝试使用 pip 安装,但可能会遇到兼容性问题,尤其是在使用 Python 3 的情况下。
确保根据 requirements.txt
安装所有必要的依赖项。
2. 创建 Django 项目并集成 xAdmin
创建一个新的 Django 项目,并将克隆下来的 xAdmin 目录复制到项目的根目录下。
3. 配置 xAdmin
在 settings.py
文件中添加 xAdmin 及其依赖的应用:
INSTALLED_APPS = ( ..., 'xadmin', 'crispy_forms', 'reversion', ... )
在 urls.py
中添加 xAdmin 的 URL 路由:
from django.conf.urls import patterns, include, url
from xadmin.plugins import xversion
import xadmin
xversion.register_models()
xadmin.autodiscover()
urlpatterns = [
...,
url(r'^xadmin/', include(xadmin.site.urls)),
]
4. 创建应用并定义模型
使用命令 python manage.py startapp app_name
创建一个新的应用,并在其中定义模型。例如:
from django.db import models
class UserInfo(models.Model):
"""用户表"""
user_name = models.CharField(max_length=20, unique=True, verbose_name="负责人")
user_email = models.EmailField(null=True, blank=True, verbose_name="邮箱")
user_mobile = models.BigIntegerField(verbose_name="电话")
class Meta:
db_table = 'user_info'
verbose_name = '用户表'
verbose_name_plural = "用户表"
def __str__(self):
return self.user_name
注册该应用及其模型以使其在 xAdmin 中可用。
5. 配置数据库连接
如果使用 Oracle 数据库,需要先安装 cx_Oracle
库,并在 settings.py
中配置数据库连接信息:
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. 配置 xAdmin 显示
在应用目录下创建 adminx.py
文件,用于配置模型在 xAdmin 中的显示方式。例如:
from .models import UserInfo
import xadmin
class UserInfoAdmin(object):
list_display = ('user_name', 'user_email', 'user_mobile')
xadmin.site.register(UserInfo, UserInfoAdmin)
启动 Django 开发服务器,访问 http://127.0.0.1:8000/xadmin/
并使用超级用户登录,即可看到配置后的 xAdmin 界面。
以上步骤完成后,您应该能够成功地在 Django 项目中集成并使用 xAdmin。