个人博客开发之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(在代码中使用) 先简单的看看下面的代码,以及左边运行出来的效果,然后 ...
随机推荐
- tcp状态-TIME_WAIT与CLOSE_WAIT带来的坑
tcp状态: http://www.cnblogs.com/DengGao/p/tcp_state.html 1. tcp连接会占用系统资源(文件描述符), 有时候甚至会导致系统假死(不能发起或者处理 ...
- jquery获取css颜色值返回RGB应用
我来给大家介绍一下在jquery获取css颜色值返回RGB方法,希望此文章对各位同学会有所帮助哦. 代码如下: 代码如下 复制代码 a, a:link, a:visited { color:#4 ...
- java直接跳转页面
public static String genForwardHtml(String url, Map<String, String> parameters, String charset ...
- gin框架中间件解决跨域问题
http://www.niu12.com/article/45// 初始化routerrouter := gin.New() router.Use(gin.Logger()) router.Use(g ...
- pwn2own
Pwn2Own是全球最著名的黑客大赛之一,由美国五角大楼入侵防护系统供应商TippingPoint的DVLabs赞助,今年已经是第六届. 1比赛规则 参赛黑客们的目标是4大主流网页浏览器——IE.Fi ...
- min-height IE6的解决方案
selector { min-height:500px; height:auto !important; height:500px; } 因为IE6中当内容大于容器高度或宽度时,就会撑破容器.并且在同 ...
- 从HTML5移动应用现状谈发展趋势
时光如梭,自2008年HTML5诞生以来已经过去了5年的时间,作为新一代的Web标准,它自问世以来就受到方方面面的强烈关注,也引起了许多争议,支持者因其开放强大的特点而鼓吹它的美好前景,质疑者因其迟迟 ...
- Instant Messaging for OpenERP v7
This module is based on the socket.io real time implementation. It inherit Of the modules web_longpo ...
- 金典 SQL笔记(2)
由于在本地笔记上写的.CSDN markdown编辑器仅仅支持.md格式导入, 图片没办法直接导进去.写的多了懒的一张一张图片切图上传; 直接整个文章切成图片上传上去了.
- svn上检出的项目在myeclipse中报错的解决
项目本身应该是没问题的,应该是验证方面导致的错误的报错,取消验证即可:右键项目,如下操作: 除此之外,还应考虑是否环境问题引起的报错,比如:项目jar包是否发布,jdk的版本,tomcat的版本,等等