栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django+xadmin

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django+xadmin

基本功能总结

appname/adminx.py

# 顾客满意度调查表细节项目表
class Detail_item_listModelAdmin(object):
    # 设置显示的字段
    list_display=["title",'Degree_of_satisfaction']
    # 设置xadmin后台搜索字段,注意:搜索字段如果有时间类型会报错
    search_fields = ['title',]
    # 按照某个字段进行排序
    ordering = ['title']
    # 设置只读字段
    readonly_fields = ['Degree_of_satisfaction']
    # 在列表页允许修改的页面
    list_editable = ['title', 'Peer_comparison']
    # 设置xadmin后台过滤器筛选字段,时间用过滤器来做
    list_filter = ['Peer_comparison', ]
    # 设置自动刷新时间
    refresh_times = [5, 7]
    

xadmin.site.register(Detail_item_list, Detail_item_listModelAdmin)

效果

功能集成 动态显示echarts图表,实现后台定制化开发1

#1.appname/models.py

from django.db import models
import os

# 首页
class indexview(models.Model):
    class meta:
        verbose_name = u"自定义页面"
        verbose_name_plural = verbose_name

class Detail_item_list(models.Model):

    title = models.CharField(max_length=500, verbose_name="", null=True)
    Degree_of_satisfaction =models.CharField(blank=True,max_length=500, verbose_name="", null=True)
    Peer_comparison=models.CharField(blank=True,max_length=500, verbose_name="", null=True)
    Peer_name=models.CharField(blank=True,max_length=500, verbose_name="", null=True)
    


#2.appname/adminx.py

import xadmin
from xadmin import views

from xadmin.layout import Fieldset,Row
from xadmin.util import sortkeypicker
from xadmin.views.base import filter_hook
from xadmin.plugins.auth import UserAdmin
from xadmin.layout import Fieldset, Main, Side, Row

from xadmin.views import CommAdminView

from .models import *

# 首页
class indexviewAdmin(object):
    # 指向自定义的页面
    object_list_template = 'indexview.html'

    # 重写方法,把要展示的数据更新到 context
    def get_context(self):
        context = CommAdminView.get_context(self)
        # 获取所有的用户
        users = Detail_item_list.objects.all()
        # 获取用户的一个属性,将显示到
        base_list = []
        # 获取用户名
        name_list = []
        for user in users:
            name_list.append(user.title)
            base_list.append(user.Degree_of_satisfaction)
        context.update(
            {
                'name_list': name_list,
                'base_list': base_list,
            }
        )
        return context
    # 进行注册
xadmin.site.register(indexview, indexviewAdmin)

#3.template/

{# 继承自xadmin中的base_site.html #}
{% extends 'xadmin/base_site.html' %}

{# 去掉标签栏 #}
{% block content-nav %}

{% endblock %}
{% block extrastyle %}
{#这个block块中添加echarts.min.js,前提是在static文件夹下放入echarts.min.js,也可以引入其他样式,这个块是在xadmin/base.html中#}

{% endblock %}
{% block content %}

    
    
{% endblock content %}

最后效果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/700486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号