个人博客开发之xadmin 布局和后台样式
项目源码下载:http://download.vhosts.cn
一、 xadmin 后台配置注册信息
1. 在apps 的blogs 和 users 两个app中添加adminx.py文件
vim apps\users\adminx.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'cpy' import xadmin
from .models import EmailVerifyRecode, UserProfile
from xadmin import views # 设置主题
class BaseSettings(object):
enable_themes = True # 启用主题
use_bootswatch = True # 启用多主题风格,如果主题不能多变可以跟踪源码看http://bootswatch.com/api/3.json是否能访问 xadmin.site.register(views.BaseAdminView, BaseSettings) # 向xadmin注册配置的内容,如果不注册则配置无效 class GlobalSettings(object):
site_title = u'博客后台' # 替换默认的Django Xadmin 标题
site_footer = u'2017 池偏一 | 赣ICP备 17014207号' # 替换底部@
menu_style = u'accordion' # 设置菜单缩放 xadmin.site.register(views.CommAdminView, GlobalSettings) class EmailVerifyRecodeAdmin(object):
list_display = ['code', 'email', 'sendtype', 'createtime'] # 展示列表
search_fields = ['code', 'email', 'sendtype', 'updatetime'] # 搜索使用的字段域
list_filter = ['code', 'updatetime', 'sendtype', 'createtime'] # 过滤使用的字段域
model_icon = 'fa fa-envelope-o' # 当前菜单图标 class UserProfileAdmin(object):
list_display = ['username', 'gender', 'mobile', 'first_name', 'createtime']
search_fields = ['username', 'gender', 'mobile', 'photo', 'createtime']
list_filter = ['username', 'gender', 'mobile', 'createtime']
model_icon = 'fa fa-user' xadmin.site.register(EmailVerifyRecode, EmailVerifyRecodeAdmin)
xadmin.site.unregister(UserProfile)
xadmin.site.register(UserProfile, UserProfileAdmin)
vim apps\blogs\adminx.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'cpy' import xadmin
from .models import Catagroy, Tags, Artical, Comments
from xadmin import views class CatagroyAdmin(object):
list_display = ['name', 'parent', 'createtime']
search_fields = ['name', 'createtime']
list_filter = ['name', 'createtime']
model_icon = 'fa fa-list' class TagsAdmin(object):
list_display = ['name']
search_fields = ['name', 'updatetime']
list_filter = ['name', 'updatetime']
model_icon = 'fa fa-tags' class ArticalAdmin(object):
list_display = ['title', 'author', 'click_num', 'createtime']
search_fields = ['title', 'author', 'content', 'click_num', 'createtime']
list_filter = ['title', 'author', 'content', 'click_num', 'createtime']
list_per_page = 10 # 设置xadmin后台展示数据,每页10条
list_eitable = ['content'] # 设置可编辑字段
ordering = ['-updatetime'] # 排序
style_fields = {'content': 'ueditor'} # 设置content 字段使用ueditor 字段类型,xadmin与ueditor 集成后生效
model_icon = 'fa fa-book' class CommentsAdmin(object):
list_display = ['username', 'email', 'content', 'createtime']
search_fields = ['username', 'email', 'content', 'createtime']
list_filter = ['username', 'email', 'content', 'createtime']
model_icon = 'fa fa-cog fa-spin' xadmin.site.register(Catagroy, CatagroyAdmin)
xadmin.site.register(Tags, TagsAdmin)
xadmin.site.register(Artical, ArticalAdmin)
xadmin.site.register(Comments, CommentsAdmin)
2. 将blogs 和 users 两个app中的__ini__.py 改成如下内容,指定app默认使用的配置文件
vim apps\users\__ini__.py
default_app_config = 'users.apps.UsersConfig'
vim apps\blogs\__ini__.py
default_app_config = 'blogs.apps.BlogsConfig'
上述配置完成后,基本后台样式和数据展示就配置完成了,但是模块菜单显示为英文的表名,是因为指定的app 默认配置为:
class <modelname>Config(AppConfig):
name="<modelsname>"
所以如果希望模块菜单显示为中文只需要在每个app 的apps.py 中加入
verbose_name = u'menu_name' 即可
如:
vim cpyblog\apps\users\apps.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.apps import AppConfig class UsersConfig(AppConfig):
name = 'users'
verbose_name = u'用户管理'
vim cpyblog\apps\blogs\apps.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.apps import AppConfig class BlogsConfig(AppConfig):
name = 'blogs'
verbose_name = u'博客管理'
配置完成后,xadmin后台将变成如下样式,但此时ueditor编辑器并未集成到xadmin后台中,此时看到的UEditorField字段在xadmin 中显示为空白无样式状态。

个人博客开发之xadmin 布局和后台样式的更多相关文章
- 个人博客开发之xadmin与ueditor集成
项目源码下载:http://download.vhosts.cn 1. xadmin 添加ueditor 插件 vim extra_apps\xadmin\plugins\ueditor.py #没有 ...
- 个人博客开发之 xadmin 安装
项目源码下载:http://download.vhosts.cn xadmin 下载地址:https://github.com/sshwsfc/xadmin或 https://github.com/s ...
- 个人博客开发之 ueditor 安装
- 个人博客开发之blog-api项目统一结果集api封装
前言 由于返回json api 格式接口,所以我们需要通过java bean封装一个统一数据返回格式,便于和前端约定交互, 状态码枚举ResultCode package cn.soboys.core ...
- 个人博客开发之blog-api 项目全局日志拦截记录
前言 大型完善项目中肯定是需要一个全局日志拦截,记录每次接口访问相关信息,包括: 访问ip,访问设备,请求参数,响应结果,响应时间,开始请求时间,访问接口描述,访问的用户,接口地址,请求类型,便于项目 ...
- 个人博客开发之blog-api 项目整合JWT实现token登录认证
前言 现在前后端分离,基于session设计到跨越问题,而且session在多台服器之前同步问题,肯能会丢失,所以倾向于使用jwt作为token认证 json web token 导入java-jwt ...
- SpringBoot博客开发之AOP日志处理
日志处理: 需求分析 日志处理需要记录的是: 请求的URL 访问者IP 调用的方法 传入的参数 返回的内容 上面的内容要求在控制台和日志中输出. 在学习这部分知识的时候,真的感觉收获很多,在之前Spr ...
- django博客项目6:Django Admin 后台发布文章
在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 ...
- IOS开发之UI布局
前言:本篇随笔会经常更新,随着本人对布局的深入学习,会不断补充新的知识.新的使用技巧.新的认识等等. 1.Autoresizing(在代码中使用) 先简单的看看下面的代码,以及左边运行出来的效果,然后 ...
随机推荐
- u-boot支持LCD显示(基于TQ2440)
平台简介 Linux版本:Linux-3.14 u-boot版本:u-boot-2015.04 硬件:TQ2440(内存:64MB NandFlash:256MB) 作者:彭东林 邮箱:pengdo ...
- 说一下集成 diagram-viewer 的心路历程 5.22.0
1. 下载部署包文件地址:https://github.com/Activiti/Activiti/releases/download/activiti-5.22.0/activiti-5.22.0. ...
- Kubernetes ServiceAccount的配置
开始配置Kubernetes集群的时候为了少出问题,都是在apiserver配置中去掉ServiceAccount采用非安全连接的方式,但在后面配置FEK日志的过程中,很多时候绕不开这个安全机制,但因 ...
- php之变量覆盖漏洞讲解
1.变量没有初始化的问题(1): wooyun连接1:[link href="WooYun: PHPCMS V9 member表内容随意修改漏洞"]tenzy[/link] $up ...
- 如何解决nagios安装及运行在的常见错误?(转)
一.安装nrpe的时候,提示:checking for SSL headers… configure: error: Cannot find ssl headers 解决方法如下: yum -y in ...
- Diamond介绍
1. Diamond需求背景 我们的异步任务, 定时任务分布在多台服务器上处理, 所有有个配置文件去记录任务-服务器的分配关系.当动态的调整任务分配情况后,需要把工程重新启动, 这样频繁的操作对服务器 ...
- HDU 2191悼念512汶川大地震遇难同胞——珍惜如今,感恩生活(多重背包)
HDU 2191悼念512汶川大地震遇难同胞--珍惜如今.感恩生活(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=2191 题意: 如果你有资金n元, ...
- 微信小程序 的文字复制功能如何实现?
text设置属性 selectable="true" 就可以长按复制了 文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注,有 ...
- python——list访问问题
rect.append({'bbox':[(int(rect1), int(rect2)), (int(rect3), int(rect4))]}) 应这样访问 rect[0]['bbox'][0][ ...
- 【Python3 爬虫】14_爬取淘宝上的手机图片
现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到 ...