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 創建超級用戶。

登錄后:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM