django 集成 xadmin

由于djano自带的后台管理系统太单调了,推荐大家使用xadmin 由于直接pip install xadmin ,一直报错 ,就舍去了这种方案 这里推荐一篇文章直接安装xadmin快速搭建后台管理系统
如果不想看的我这里贴一下使用步骤 及 出现的错误如何解决
1 官方的不支持python3 ,这里我们使用这个github地址

https://github.com/sshwsfc/xadmin.git 

下载解压后得到

对我们有用的有xadmin这个目录 以及requirements.text

#如果之前通过pip安装过(没安装请忽略)
pip uninstall xadmin  

直接把xadmin 拖入当期那项目如下图

添加xadmin 到settings里面

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'login.apps.LoginConfig',
    'comments.apps.CommentsConfig',
    'captcha',
		#引入xadmin
    'xadmin',
    'crispy_forms',
]

添加URL

import xadmin

urlpatterns = [
    ...
    path('admin/', admin.site.urls),
		#添加url
    path('xadmin/', xadmin.site.urls),
]

自定义xadmin.py(这里只能是这个名字,不想自定义的可以忽略) 新建adminx.py 文件与admin.py在同一目录下

import  xadmin
from xadmin import views
from .models import User, Post

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

class UserAdmin(object):
    list_display = ['name', 'password', 'email', 'sex', 'has_confirmed']
		
#开启主题
class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True		
		
# 设置站点标题	
class GlobalSetting(object):
    site_title = "小草的博客"
    site_footer = '小草'
    # 左侧样式
    # menu_style = 'accordion'	
		
xadmin.site.register(Post,PostAdmin)
xadmin.site.register(User,UserAdmin)
xadmin.site.register(views.BaseAdminView,BaseSetting)  #设置主题
xadmin.site.register(views.CommAdminView, GlobalSetting) #设置站点文字	

同步数据表

python manager.py makemigrations
python manager.py migrate

创建用户

python manager.py createsuperuser

打开 http://127.0.0.1:8000/xadmin/ 输入用户 密码

这是运行OK但是在点击添加组件时会报错no_renderer的错误;
在xadmin如图

找到dashborad.py 第36行代码

def render(self, name, value, attrs=None):

修改为
def render(self, name, value, attrs=None,renderer=None):

再次运行 perfect

评论