Xadminインストール
ステップ1:ダウンロード
https://github.com/sshwsfc/xadmin/archive/master.zip
解凍は、プロジェクトにコピーし、フォルダをxadmin取得しますextra_apps
ルートディレクトリの名前extra_appsにはDjangoでPythonパッケージを作成します(作成され、このフォルダに存在しない場合は、マウスの右ボタンextra_apps
、Mark 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)