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