xadmin入门使用
,官方文档:http://xadmin.readthedocs.io/en/docs-chinese/views_api.html
中文文档:https://www.kancloud.cn/net_you/django_xadmin/371786
Django的xadmin是和admin相类似的管理后台,里面的很多方法都是一样的,只不过导入的类不一样,个人感觉xadmin的功能更加强大(主要是适合我现在写的东西)
下边就来一些使用的小示例:
import xadmin
from xadmin import views
from api import models
from django.shortcuts import HttpResponse
from xadmin.plugins.actions import BaseActionView class MyAction(BaseActionView): # action类
action_name = 'My_action'
description = 'This is my action button'
model_perm = 'change' def do_action(self, queryset):
for obj in queryset:
return HttpResponse(obj) class BaseSetting(object): # 全局配置
enable_thems = True
use_bootswatch = True class GlobalSettings(object): # 全局配置
site_title = '财务对账系统'
site_footer = 'seven_nighter@163.com'
menu_style = 'accordion' class ChannelAdminn(object):
model_icon = 'fa fa-bug' # 自定义左侧菜单图标
actions = [MyAction, ] # Action按钮
list_filter = ['id', 'memo', 'name'] # 过滤
search_fields = ['id', 'memo', 'name'] # 搜索
data_charts = { # 图表
'memo': {
'title': 'channel charset',
'x-field': 'memo',
'y-field': 'name'
},
'name': {
'title': 'channel charset', # 图表的名称
'x-field': 'memo', # x轴字段,通常是日期或者时间
'y-field': 'name', # y轴字段,显示数据
'order': 'name' # 根据name字段进行排序
}
}
show_bookmards = False
list_bookmarks = [{ # 自定义搜索书签
'title': 'my_book_marks',
'query': {'name': True},
'order': ('name'),
'cols': ('memo', 'name')
}]
list_export = ('xls', 'json',) # 数据导出格式,默认支持四种格式
refresh_times = (3, 5) # 3秒或者5秒刷新一次数据 show_detail_fields = ['memo', 'name'] # 显示字段的详情
show_all_rel_details = True # 设置为True,显示所有字段的详情
list_editable = ['memo', 'name'] # ajax修改字段属性值 class CheckIdfaAdmin(object):
model_icon = 'fa fa-check'
actions = [MyAction, ] class ProviderAdmin(object):
model_icon = 'fa fa-scissors'
actions = [MyAction, ] class OfferAdmin(object):
model_icon = 'fa fa-book'
actions = [MyAction, ] class ReprotAdmin(object):
model_icon = 'fa fa-bookmark'
actions = [MyAction, ] xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)
xadmin.site.register(models.Channel, ChannelAdminn)
xadmin.site.register(models.CheckIdfa, CheckIdfaAdmin)
xadmin.site.register(models.Provider, ProviderAdmin)
xadmin.site.register(models.Offer, OfferAdmin)
xadmin.site.register(models.Report, ReprotAdmin)
在xadmin安装的时候可能会有点坑,我相同的环境不同的笔记本一个两分钟搞定,一个一天没搞定。。最后还是用了自己不太喜欢的额方法去实现暂时的功能
一般情况下使用pip安装就没啥问题:pip install django-xadmin,他会安装所有的依赖,,但是有时候不行,,会报错,,详细参考下边博客里的解决方案,感觉没必要写了
需要在settings中配置apps
,一般配置前两个就够了,如果按照不上直接下载两个包,直接放在项目根目录crispy_forms,xadmin
小技巧:直接在adminx文件夹中写代码有部分没有自动补齐,,此时在admin中写,,然后直接粘贴过来就好了,,他俩方法都是通用的(好像是,多试试)
参考一:https://blog.csdn.net/jamin2018/article/details/79017636
参考二:https://blog.csdn.net/kingken212/article/details/46992535
参考三:https://blog.csdn.net/qq_41673534/article/details/79470503
省略·······
xadmin入门使用的更多相关文章
- 【Python3.6+Django2.0+Xadmin2.0系列教程之三(入门篇-下)】学生信息管理系统
上一篇我们已经初步的构建起了一个学生管理系统的模型,现在接着来继续完善它吧. 1.上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方 ...
- django入门8之xadmin引入富文本和excel插件
django入门8之xadmin引入富文本和excel插件 Xadmin引入富文本 插件的文档 https://xadmin.readthedocs.io/en/docs-chinese/make_p ...
- django入门7之django template和xadmin常用技巧
django入门7之django template和xadmin常用技巧 <li {% ' == '/course' %}class="active"{% endif %}& ...
- django入门5使用xadmin搭建管理后台
环境搭建: pip install django==1.9.8 pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl pip install f ...
- Part 7:自定义admin站点--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Django+xadmin打造在线教育平台(四)
七.授课机构功能 7.1.模板继承 (1)创建母板 把org-list.html拷贝到templates目录下,新建base.html,剪切org-list.html内容到里面 再修改一下静态文件的地 ...
- Django+xadmin打造在线教育平台(六)
九.课程章节信息 9.1.模板和urls 拷贝course-comments.html 和 course-video.html放入 templates目录下 先改course-video.html,同 ...
- 第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页
第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页 分页可以用一个第三方分页模块django-pure-pagination 下载地址:https://github.c ...
- 第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承
第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页 ...
随机推荐
- Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...
- [CODEVS1917] 深海机器人问题(最小费用最大流)
传送门 [问题分析] 最大费用最大流问题. [建模方法] 把网格中每个位置抽象成网络中一个节点,建立附加源S汇T. 1.对于每个顶点i,j为i东边或南边相邻的一个节点,连接节点i与节点j一条容量为1, ...
- 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功
记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boot大坑一个,在bean中如果有@Test单元测试,不会注入成功 记录Spring Boo ...
- linux监控平台搭建-磁盘
linux监控平台搭建-磁盘 磁盘:随着大数据快速发展.人工智能.自动化.云平台.数据量指数的增长.磁盘的使用量也在增长.目前的机器基本上采用SSD或者SATA盘,一直有人比较那个好.会不会使用时间短 ...
- d3 比例尺
.domain([, ]) 定义域范围 .range([, ]) 值域范围 var scale = d3.scale.linear() .domain([, ]) .range([, ]); 将100 ...
- xsy 1790 - 不回头的旅行
from NOIP2016模拟题28 Description 一辆车,开始没油,可以选择一个点(加油站)出发 经过一个点i可加g[i]的油,走一条边减少len的油 没油的时候车就跪了 特别的,跪在加油 ...
- Quotes in shell(bash, csh)
There are three kinds of quote: single quote('), double quote("), backslash(\), how shell expla ...
- What is pseudopolynomial time? How does it differ from polynomial time?
To understand the difference between polynomial time and pseudopolynomial time, we need to start off ...
- LeetCode OJ--Binary Tree Level Order Traversal
http://oj.leetcode.com/problems/binary-tree-level-order-traversal/ 树的层序遍历,使用队列 由于树不是满的,还要分出每一层来,刚开始给 ...
- 使用redis-stat来监控redis实例
https://blog.csdn.net/xiao_jun_0820/article/details/78189576 https://blog.csdn.net/u010022051/articl ...