xadminの使用

Xadminインストール


ステップ1:ダウンロード

https://github.com/sshwsfc/xadmin/archive/master.zip

解凍は、プロジェクトにコピーし、フォルダをxadmin取得しますextra_apps


ルートディレクトリの名前extra_appsにはDjangoでPythonパッケージを作成します(作成され、このフォルダに存在しない場合は、マウスの右ボタンextra_appsMark Directory as- Sources Root


あなたは、作成したextra_appsあなたがする必要があり、settings構成の下位extra_appsパス検索可能に設定し、

import sys
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'xadmin'))


xadminフォルダへextra_apps


  • インストールの依存関係
pip3 install django-import-export -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install django-reversion -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install django-formtools==2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install future -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install httplib2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install six -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install django-crispy-forms -i https://pypi.tuna.tsinghua.edu.cn/simple


ステップ2:設定

  • アプリへのサインアップ
LANGUAGE_CODE = 'zh-hans'   # 修改为中文
TIME_ZONE = 'Asia/Shanghai'  # 修改时区为东八区的时间

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'api.apps.ApiConfig',
    'rest_framework.apps.RestFrameworkConfig',
    'repo.apps.RepoConfig',
    'web.apps.WebConfig',
    'xadmin.apps.XAdminConfig',
    'crispy_forms',

]


  • 変更urls.py管理の
import xadmin

urlpatterns = [
    # url(r'^admin/', admin.site.urls),
    url(r'^xadmin/', xadmin.site.urls),
    url(r'^web/', include('web.urls', namespace='web')),
    url(r'^asset/', views.Asset.as_view()),
]


  • ファイルの移行
python3 manager.py makemigrations
python3 manager.py migrate

移行が完了した後、いくつかの余分なテーブルを表示するには


  • アプリケーションで作成されたadminx.pyファイル
import xadmin
from repo import models
from xadmin import views


class UserProfileAdmin(object):
    #### 显示字段名称
    list_display = ['id', 'name', 'email', 'phone', 'mobile']

    #### 搜索时可输入的字段内容
    search_fields = ['id', 'name', 'email', 'phone']


    #### 可编辑的列名
    list_editable = ['name', 'email', 'phone', 'mobile']

    #### 每页显示多少条
    list_per_page = 20

    # 根据id排序
    ordering = ('id', )

    # 设置只读字段
    readonly_fields = ('email', )

    # 显示详情
    show_detail_fields = ['name', 'phone', 'email']

class ServerAdmin(object):
    list_display = ['hostname', 'os_platform', 'manufacturer', 'sn', 'cpu_count', 'cpu_model']

    show_detail_fields = ['hostname']

xadmin.site.register(models.UserProfile, UserProfileAdmin)
xadmin.site.register(models.Server, ServerAdmin)


class GlobalSettings(object):
    # 修改title
    site_title = 'cmdb管理后台'

    # 修改footer
    site_foot = 'xxx公司'

    # 收起菜单
    menu_style = 'accordion'

    # 设置models图标
    global_search_models = [models.UserProfile, models.Server]
    global_models_icon = {
        models.Server: 'fa fa-linux',
        models.UserProfile: 'fa fa-cloud',
    }

class BaseSettings(object):
    # 开启主题功能
    enable_themes = True
    use_bootswatch = True

xadmin.site.register(views.CommAdminView, GlobalSettings)
xadmin.site.register(views.BaseAdminView, BaseSettings)

おすすめ

転載: www.cnblogs.com/cjwnb/p/11919238.html