环境:CentOS7.4 python2.7 Django1.11 MariaDB
xadmin安装
使用pip install xadmin
会出现render() got an unexpected keyword argument 'renderer'
错误,是由于PyPi上的xadmin版本不支持的缘故。
所以不要直接使用pip install xadmin,除非你是django1.8* 或1.9*,其他以上版本都不行。
去github 下载源码,python setup.py install 安装
下载地址: https://github.com/sshwsfc/xadmin/archive/master.zip
wget https://github.com/sshwsfc/xadmin/archive/master.zip
unzip master.zip
cd xadmin-master
python setup.py install
安装成功后,把xadmin整个文件夹移到你的项目下,和manage.py同级
mv xadmin /www/html/mysite/
然后就是配置xadmin了:
1 在 settings.py文件的INSTALLED_APPS内添加以下代码:
INSTALLED_APPS = [
............................
'xadmin',
'crispy_forms',
]
2 在urls.py内添加以下代码:
import xadmin
并将默认的url(r'^admin/', admin.site.urls),改成或者新增:
from django.contrib import admin
import xadmin
urlpatterns = [
url(r'^xadmin/', xadmin.site.urls),
]
连接并创建表:
python manage.py makemigrations
python manage.py migrate
启动,登陆看看:
python manage.py runserver 0.0.0.0:8000
浏览器查看:
http://你的IP:8000/xadmin
主题功能+标题版权+菜单样式设置
在adminx.py中添加:
from xadmin import views
后台主题功能
class AdminSettings(object):
enable_themes = True
use_bootswatch = True
标题及版权修改
class GlobalSettings(object):
site_title = "巡检管理系统"
site_footer = "NOCMT.COM"
菜单样式设置
menu_style = "accordion"
添加类
xadmin.site.register(views.BaseAdminView, AdminSettings)
xadmin.site.register(views.CommAdminView, GlobalSettings)
提示:登陆看看,应该能看到效果了。
APP名称自定义
APP名称还是默认的英文名称,我们只需要修改两处文件,即可实现自定义后台展示的APP名称。
将在APP目录下的apps.py文件中的代码修改成:
'''
* coding: utf-8 *
from django.apps import AppConfig
class MonitorConfig(AppConfig):
name= 'monitor'
verbose_name = "巡检单管理"
'''
说明:MonitorConfig为自定义名称,name指定当前的app名称,verbose_name指定要显示的字段。
将在APP目录下的init.py文件中添加代码:
default_app_config = "blog.apps.MonitorConfig"
说明:blog为当前app名称,大家应该明白的。
model 汉化 显示文字方法
在对应的model 类下面加入内部类:
class Meta:
verbose_name = 'model中文名'
verbose_name_plural = 'model中文名复数'