xadmin是django的第三方后台

我们也可以使用pip来安装,但是推荐使用源码安装.

因为有些新功能以及发布在GitHub上,但是还未发布到pypi上,我们就可以提取使用这些功能。

一、安装

1. 到GitHub下载源码:下载页面

  下载后,解压,把xadmin文件夹拷问到extra_apps目录下

  并Mark as 为 Sources Root

2. 安装依赖包

  1. pip install django-crispy-forms

3. 在settings.py中配置

  1. # 加入这一行
  2. sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
  1. # 在INSTALLED_APPS 加入
  2. crispy_forms,
  3. xadmin,

4. 配置url

  1. urlpatterns = [
  2. url(r'^xadmin/', xadmin.site.urls), # 注意结尾不能使用$
  3. ]

5. 然后同步下数据库

  1. makemigrations
  2.  
  3. migrate

6. 运行django

  1. # 试着运行django项目,如果报错说没有future和six这两个模块,则
  2. pip install future
  3. pip install six
  4.  
  5. # 如果没报错,就在浏览器中输入127.0.0.1:8000/xadmin

二、注册model

在app下新建adminx.py,注意不是xadmin.py

  1. from .models import UserMessage
  2.  
  3. class UserMessageAdmin(object):
  4. list_display = ['user', 'message', 'has_read', 'add_time']
  5. search_fields = ['user', 'message', 'has_read']
  6. list_filter = ['user', 'message', 'has_read', 'add_time']
  7.  
  8. xadmin.site.register(UserMessage, UserMessageAdmin)
  9.  
  10. # 分别定义的是,1. 显示内容;2. 搜索字段;3. 筛选字段
  11.  
  12. # 筛选字段如果有外键,则应使用双下划线指定筛选哪个字段

进入后台,刷新页面。会发现,多出了我们刚刚注册的表。

我们尝试新增用户消息。

如果出现:"Table 'mxonline.xadmin_log' doesn't exist"

就重新makemigrations和migrate

三、全局样式修改

1. 主题修改

放在前面的adminx.py

  1. from xadmin import views
  2.  
  3. class BaseSetting(object):
  4. enable_themes = True #xadmin默认为FALSE
  5. use_bootswatch = True #xadmin默认为FALSE
  6.  
  7. xadmin.site.register(views.BaseAdminView, BaseSetting)

正常修改如上就可以修改主题

但是可能源码有Bug,并不能选择第三方样式

我们还需要修改下源码,修复这个bug: xadmin下设置“use_bootswatch = True”无效的原因

然后就可以愉快的修改样式了。

2. 页面信息

包括(左上角标题,页脚,还有左边导航栏改为可合并)

  1. class GlobalSettings(object):
  2. site_title = u"我的博客 - 后台"
  3. site_footer = u"我的博客"
  4. menu_style = "accordion"
  5.  
  6. xadmin.site.register(views.CommAdminView, GlobalSettings)

3. 定义后台app名

在后台,app名为我们定义的对应的模型类名(英文)

我们可以将它自定位为中文

  1. # 每个app根目录下 apps.py
  2. class ArticleConfig(AppConfig):
  3. name = 'article'
  4. verbose_name = u"文章信息" # 主要增加这一行
  5.  
  6. # 每个app根目录下 __init__.py
  1. default_app_config = 'article.apps.ArticleConfig'
  1. # 不同app进行相应修改

源码安装xadmin及使用的更多相关文章

  1. Django源码安装xadmin报错Apps aren't loaded yet.

    环境:python2.7, django1.9 1.报错django.core.exceptions.AppRegistryNotReady:Apps aren't loaded yet.如下图所示: ...

  2. 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 ...

  3. 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 ...

  4. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  5. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  6. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  7. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  8. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  9. 搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展

    上一篇:搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展 一.安装MongoDB 1.创建mongodb用户组和用户 groupadd mongodb useradd -r -g ...

随机推荐

  1. OC:打僵尸问题(类的问题)

    1.定义普通僵尸类: 实例变量:僵尸种类.僵尸总血量.僵尸每次失血量. 方法:初始化方法(设置僵尸种类,总血量).被打击失血.死亡. 2.定义路障僵尸类: 实例变量:僵尸种类.僵尸总血量.僵尸每次失血 ...

  2. 使用GDAL将下载的Google卫星图像转为带坐标的tif

    网上有很多下载Google地图的卫片的软件,一般下载下来的图像都是jpg格式的,另外附带一个坐标信息的描述文件.这样的数据不能直接拿来在遥感或者GIS软件中使用,因为图像里面没有投影和坐标信息,所以就 ...

  3. iOS开发经验相关知识

    一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...

  4. hive基本的操作语句(实例简单易懂,create table XX as select XX)

    hive建表语句DML:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Cr ...

  5. vi/vim下看十六进制文件

    :%!xxd --将当前文本转换为16进制格式. 查看内容是对应的.你可以后面看到对应的字符内容 :%!od --将当前文本转换为16进制格式. :%!xxd -c 12--将当前文本转换为16进制格 ...

  6. iOS雷达图 iOS RadarChart实现

    实现效果 刚拿到设计稿的时候大概看了一眼,当时心里想着放张背景图,然后计算下相应点的坐标,在最上面画一层就OK了,其实一开始实现的时候也确实是这么做的,然后我就日了狗了,发现设计稿上多层五边形的间隔不 ...

  7. LeetCode之“字符串”:Restore IP Addresses

    题目链接 题目要求: Given a string containing only digits, restore it by returning all possible valid IP addr ...

  8. Oracle EBS ERP中月结年结的流程总结

    月结与年结处理,是企业财务比较特殊而重要的业务操作.在实施与推广OracleERP系统过程中,如何结合现行的会计制度与惯例,充分利用软件功能,做好相应的关账.开账工作,是困扰许多企业财务人员乃至实施顾 ...

  9. android 获取Bitmap位图所占用的内存大小

    今天在看Universal-Image-Loader源码的时候,在对图片的超过用户在所设的阈值的时候,系统会调用GC将LinkHashMap比较靠底层的图片引用去掉,这里涉及到一个技术单个图片的文图大 ...

  10. LeetCode(26)-Binary Tree Level Order Traversal II

    题目: Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from ...