第44章 Django的分析图表之ModelAdmin,棒……

单有model,单有数据。如果想在页面上有一番作为的话,还需要在ModelAdmin中进行注册。注册完之后,可以重点注意两个重点,一是过滤器(list_filter)是可以自定义的,二是模板也是可以自定义的。

from django.contrib import admin
from .models import *
# 区域任务
@admin.register(Task)
class TaskAdmin(admin.ModelAdmin):
list_display = ('region', 'year', 'Jan_task', 'Feb_task', 'Mar_task', 'Apr_task', 'May_task', 'Jun_task',
'Jul_task', 'Aug_task', 'Sep_task', 'Oct_task', 'Nov_task', 'Dec_task', 'create_time')
list_display_links = ('region',)
search_fields = ('region',)
# 按id升序
ordering = ('id',)
# 分页显示,一页的数量
list_per_page = 10
exclude = ('create_time',)
# 顶部操作按钮
actions_on_top = True
fieldsets = [('填写区域名称和年份', {'fields': ['region', 'year']}),
('每个月份的任务目标(万元)', {'fields': ['Jan_task', 'Feb_task', 'Mar_task',
'Apr_task', 'May_task', 'Jun_task',
'Jul_task', 'Aug_task', 'Sep_task',
'Oct_task', 'Nov_task', 'Dec_task',
]}),
('每个月份的实际销售额(万元)', {'fields': ['Jan_sale', 'Feb_sale', 'Mar_sale',
'Apr_sale', 'May_sale', 'Jun_sale',
'Jul_sale', 'Aug_sale', 'Sep_sale',
'Oct_sale', 'Nov_sale', 'Dec_sale']})]
@admin.register(MyTask)
class MyTaskAdmin(admin.ModelAdmin):
pass
# 区域列表
class RegionListFilter(admin.SimpleListFilter):
title = '选择区域'
parameter_name = 'region'
def lookups(self, request, model_admin):
return Task.objects.distinct().values_list("region", "region")
def queryset(self, request, queryset):
pass
# 年份列表
class YearListFilter(admin.SimpleListFilter):
title = '选择年份'
parameter_name = 'year'
def lookups(self, request, model_admin):
year_list = []
years = Task.objects.distinct().values("year")
for result in years:
year_list.append((result['year'], '%d年' % result['year']))
return year_list
def queryset(self, request, queryset):
pass
# 销售统计
@admin.register(SaleSum)
class SaleSumAdmin(admin.ModelAdmin):
change_list_template = 'admin/sale_sum.html'
list_filter = (RegionListFilter, YearListFilter,)
def changelist_view(self, request, extra_context=None):
region = request.GET.get('region', '')
year = request.GET.get('year', '')
if region == '' or year == '':
task = ''
else:
task = Task.objects.filter(region=region, year=year).first()
if year != '':
year += '年'
extra_context = {'task': task, 'bar_title': region, 'subtext': year}
return super(SaleSumAdmin, self).changelist_view(request, extra_context=extra_context)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程背景:    企业里面很多系统管理后台,用easyui + highcharts + django 进行后台管理的整合,而这块资料在网上资料甚少,很多有经验的朋友在做这块时候也经常出现各种问题,目前我们老师以前在大数据真实项目中用到这块,现在受一些网友建议单独录制easyui + highcharts + django,希望可以帮助那些同学。视频+技术文档+源码让你看过后马上也可以搭建起来。  比如现在的友盟 和 百度统计 都是在类似这样的统计,我们会通过2~3个小时左右的课程,让你掌握这样的技术。   目标人群:  1、初级以上普通开发人员  2、web开发人员,对python感兴趣同学  3、对编程感兴趣的同学   课程目录:  01easyui_highcharts_django整合之需求介绍  02easyui_highcharts_django整合通过pycharm创建项目  03easyui_highcharts_django整合配置路由显示第一个页面  04easyui_highcharts_django整合下载easyui资源并且导入到项目里面  05easyui_highcharts_django整合修改配置文件加载static静态文件  06easyui_highcharts_django整合对页面进行修改  07easyui_highcharts_django整合对合并母模板layout  08easyui_highcharts_django整合添加一个新的业务的代码实现流程  09easyui_highcharts_django整合highcharts简单介绍  10easyui_highcharts_django整合highcharts的整合到django里面  11easyui_highcharts_django整合快速做出另一个业务流程  12easyui_highcharts_django整合柱状图  13easyui_highcharts_django后台返回json数据并且展示   14大数据django后台数据保存到mysql里面  15大数据django从mysql里面读取数据并显示到页面上面  课程环境:    环境:win10,  python 2.7.13,  django 1.8.3 ,  pymsql   收获预期:    1.使用django开发项目  2.学会使用easyui框架  3.学会使用highcharts  4.easyui_highcharts_django开发后面展示项目   案例截图:      

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值