• 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

          首先,您必须安装对应版本的cx_Oracle。 下载地址:https://pypi.python.org/pypi/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.配置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 创建超级用户。

    登录后:

    至此,基本配置就完成了。

  • 相关阅读:
    setTimeOut与循环闭包问题
    ES6----class用法
    JS------对象的继承方式
    JavaScript对象 -构建
    nodejs异步---Async
    mongdb位置索引
    mongodb 索引3
    mongod 索引2
    mongodb 索引1
    3 C++数据类型
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/6945449.html
Copyright © 2020-2023  润新知