源码安装xadmin及使用
xadmin是django的第三方后台
我们也可以使用pip来安装,但是推荐使用源码安装.
因为有些新功能以及发布在GitHub上,但是还未发布到pypi上,我们就可以提取使用这些功能。
一、安装
1. 到GitHub下载源码:下载页面
下载后,解压,把xadmin文件夹拷问到extra_apps目录下
并Mark as 为 Sources Root
2. 安装依赖包
pip install django-crispy-forms
3. 在settings.py中配置
# 加入这一行
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
# 在INSTALLED_APPS 加入
crispy_forms,
xadmin,
4. 配置url
urlpatterns = [
url(r'^xadmin/', xadmin.site.urls), # 注意结尾不能使用$
]
5. 然后同步下数据库
makemigrations migrate
6. 运行django
# 试着运行django项目,如果报错说没有future和six这两个模块,则
pip install future
pip install six # 如果没报错,就在浏览器中输入127.0.0.1:8000/xadmin
二、注册model
在app下新建adminx.py,注意不是xadmin.py
from .models import UserMessage class UserMessageAdmin(object):
list_display = ['user', 'message', 'has_read', 'add_time']
search_fields = ['user', 'message', 'has_read']
list_filter = ['user', 'message', 'has_read', 'add_time'] xadmin.site.register(UserMessage, UserMessageAdmin) # 分别定义的是,1. 显示内容;2. 搜索字段;3. 筛选字段 # 筛选字段如果有外键,则应使用双下划线指定筛选哪个字段
进入后台,刷新页面。会发现,多出了我们刚刚注册的表。
我们尝试新增用户消息。
如果出现:"Table 'mxonline.xadmin_log' doesn't exist"
就重新makemigrations和migrate
三、全局样式修改
1. 主题修改
放在前面的adminx.py
from xadmin import views class BaseSetting(object):
enable_themes = True #xadmin默认为FALSE
use_bootswatch = True #xadmin默认为FALSE xadmin.site.register(views.BaseAdminView, BaseSetting)
正常修改如上就可以修改主题
但是可能源码有Bug,并不能选择第三方样式
我们还需要修改下源码,修复这个bug: xadmin下设置“use_bootswatch = True”无效的原因
然后就可以愉快的修改样式了。
2. 页面信息
包括(左上角标题,页脚,还有左边导航栏改为可合并)
class GlobalSettings(object):
site_title = u"我的博客 - 后台"
site_footer = u"我的博客"
menu_style = "accordion" xadmin.site.register(views.CommAdminView, GlobalSettings)
3. 定义后台app名
在后台,app名为我们定义的对应的模型类名(英文)
我们可以将它自定位为中文
# 每个app根目录下 apps.py
class ArticleConfig(AppConfig):
name = 'article'
verbose_name = u"文章信息" # 主要增加这一行 # 每个app根目录下 __init__.py
default_app_config = 'article.apps.ArticleConfig'
# 不同app进行相应修改
源码安装xadmin及使用的更多相关文章
- Django源码安装xadmin报错Apps aren't loaded yet.
环境:python2.7, django1.9 1.报错django.core.exceptions.AppRegistryNotReady:Apps aren't loaded yet.如下图所示: ...
- Django2.0.6-Xadmin后台源码安装流程(python 3.8+django 2.0)
1. 命令行执行 pip install git+git://github.com/sshwsfc/xadmin.git@django2 2.修改url.py 3.修改setting.py 4.卸载x ...
- mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
Mono 3.4修复了很多bug,继续加强稳定性和性能(其实Mono 3.2.8 已经很稳定,性能也很好了),但是从http://download.mono-project.com/sources/m ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 搭建LNAMP环境(二)- 源码安装Nginx1.10
上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- salt源码安装软件和yum安装软件
上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...
- 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展
上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...
随机推荐
- c++中各个数据类型的大小
来哦金额各种数据类型有助于我们对这门语言的更好掌握,更好的利用之来编程,下面是一个简单的获得数据类型的大小的程序,虽然简单,但实用性却很高. #include <iostream> usi ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十八)
现在需要实现具体的游戏逻辑大致如下: 玩家点击某条赛道选择一个选手,然后会弹出菜单窗口让玩家输入压赌的金额,如果输入的金额值非法,则在GameInterface下部的状态栏中显示提示,要求玩家重新输入 ...
- Ubuntu 14 安装WPS
在32位Ubuntu 14.04 安装 WPS,WPS For Linux版除延续Windows版相同体验外,更加尊重Linux用户特定的使用习惯:深度兼容:自带方正字体集:在线模板和素材使文档创作更 ...
- 一起来搭简单的App框架
1.概述 最近在学车,抽着空写了一个常用的App框架,可惜不会制作gif图片,请忽略录屏软件的那个浮动窗口,要是有更好的方式制作gif麻烦告知下提前感谢,效果图如下,凑合着看下吧. 主要实现了 [1] ...
- Leetcode_141_Linked List Cycle
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42833739 Given a linked list, d ...
- android 面试之listview
ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能.· 1.在adapter中的g ...
- 写的还不错的专题,android性能优化
http://www.trinea.cn/android/android-performance-demo/
- OpenCV由汉字生成图片(透明)----可以对抗论文查重!!!
今天听说很多同志们写毕业论文重复率过高的问题,大牛说用图片代替字就行了,我就想用OpenCV实现一下看看能不能搞,果不其然还是可以的!!!主要的难点在于普通格式的图片背景不透明,需要使用背景透明的pn ...
- 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号
每个CPU,都有它固定的ID号,ID号就是这个CPU唯一的标识,它可能隐含着CPU的生产日期,版本号,型号等等,那么,在我们的这款友善之臂Tiny4412的板子上,我的这个CPU的ID又是多少呢?从我 ...
- how tomcat works 总结 三
第七章 日志记录器 第 7 章包括日志,该组件是用来记录错误信息和其他信息的. 这一章比较简单,类图如下: 根据名字我想大家都能猜出来三个实现类都是做什么的,一个按常规输出到控制台,一个按错误模式输出 ...