Django xadmin的使用
Posted 无名小妖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的使用的主要内容,如果未能解决你的问题,请参考以下文章