xadmin

12月 14, 2021 396点热度 0人点赞 0条评论

由于使用的是Django2.0的版本,所以需要安装xadmin项目django2分支的代码。

输入以下命令完成安装: pip install git+git://github.com/sshwsfc/xadmin.git@django2

02-配置settings.py


# 引入下面三个app
INSTALLED_APPS = [
    ....
    'xadmin',
    'crispy_forms',
    'reversion', 
]

# 修改使用中文界面
LANGUAGE_CODE = 'zh-Hans'

# 修改时区
TIME_ZONE = 'Asia/Shanghai'

ALLOWED_HOSTS = ['*', ]

03-配置路由


# urls.py

# -*- coding: utf-8 -*-
# from django.conf.urls import include, url
from django.urls import include, path

# Uncomment the next two lines to enable the admin:
import xadmin
xadmin.autodiscover()

# version模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

from django.contrib import admin

urlpatterns = [
    path(r'xadmin/', xadmin.site.urls)
]

04-创建数据库

python manage.py makemigrations

python manage.py migrate

05-创建超级用户

python manage.py createsuperuser

06-拉取静态文件到本地

python manage.py collectstatic

 

报错信息:cannot import name 'DEFAULT_FORMATS'

找到相应的配置文件:虚拟环境名->Lib->site-packages->xadmin->plugins->importxport.py

a、注释掉下面的命令

from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
b、增加下面两条

from import_export.formats.base_formats import DEFAULT_FORMATS
from import_export.admin import ImportMixin, ImportExportMixinBase

 

 

 

www/wwwroot/tutorial.com/tutorial/blog/adminx.py

import xadmin
from .models import Post, Category, Tag
from xadmin import views

class PostAdmin(object):
list_display = ['title', 'created_time', 'modified_time', 'views', 'category', 'author']
fields = ['title', 'body', 'excerpt', 'category', 'tags']

def save_model(self, request, obj, form, change):
obj.author = request.user
super().save_model(request, obj, form, change)

class BaseSetting(object):
enable_themes=True
use_bootswatch=True

xadmin.site.register(views.BaseAdminView,BaseSetting)

xadmin.site.register(Post, PostAdmin)
xadmin.site.register(Category)
xadmin.site.register(Tag)

class GlobalSettings(object):
"""xadmin的全局配置"""
site_title = "xxx后台管理系统" # 设置站点标题
site_footer = "xxxxxxx" # 设置站点的页脚
menu_style = "accordion" # 设置菜单折叠,在左侧,默认的

def get_site_menu(self):
return (
{'title': '课程管理', 'menus': (
{'title': '课程信息', 'url': self.get_model_url(Post, 'changelist')},
{'title': '章节信息', 'url': self.get_model_url(Category, 'changelist')},
{'title': '视频信息', 'url': self.get_model_url(Tag, 'changelist')},

)},
{'title': '机构管理', 'menus': (
{'title': '所在城市', 'url': self.get_model_url(Tag, 'changelist')},

)},

)

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

李 锋

这个人很懒,什么都没留下

文章评论