美文网首页python学习实践Python+AIPython 运维
Django学习记录第十二天—xadmin操作

Django学习记录第十二天—xadmin操作

作者: Rokkia | 来源:发表于2017-07-05 22:22 被阅读2902次

之前的十一天,基本上Django的一些基础点都已经说完了,今天说一下xadmin进阶这一部分。

其次发现 ,可能坚持不到30天了,又一次打脸了~ 能坚持多久算多久吧。

OK,第十二天开始。

今天在来说说xadmin,长时间不说xadmin,都已经忘了xadmin是干什么的了。这是xamdin的文档我们来看一下,他都能做什么。

image.png

我们来慢慢看一下。

  • Quickstart Guide

我们其实在xadmin使用里面基本都已经说全了,这里就不在重复了。

  • Customization of xadmin

WTF? 什么也没有 ?


image.png
  • Features of xadmin

一开始我以为出现在里面的数据都有连接,发现并不是,什么也干不了。

  • Xadmin plugins

这是一个关键,里面讲述了xadmin的一下内置插件等。我们来看一下。
第一个

  • 1.Action

其实呢,这个action就是这个操作

image.png

现在只有一个删除操作,我们来加点别的试试。
比如我们每次点击address就增加一个'sss' ,我们来看一下。
创建文件 xadmin_action.py

image.png

编写Action

from django.http import HttpResponse
from xadmin.plugins.actions import BaseActionView

class MyAction(BaseActionView):
    # 这里需要填写三个属性
    action_name = "change_sss"    #: 相当于这个 Action 的唯一标示, 尽量用比较针对性的名字
    description = u'Test selected %(verbose_name_plural)s' #: 描述, 出现在 Action 菜单中, 可以使用 ``%(verbose_name_plural)s`` 代替 Model 的名字.
    model_perm = 'change'
    def do_action(self, queryset):
        for obj in queryset:
            #其实我们做的只有这一部分 ********
            obj.address += 'sss'
            obj.save()
        return HttpResponse('{"status": "success", "msg": "error"}', content_type='application/json')

其实我们写的很少,然后再来绑定一下。

image.png

看一下效果。

image.png

点击Test selected

image.png

页面会跳转到这

image.png

然后我们重新看一下数据

image.png

很强大。至于刷新问题,我也没找到方法,如果大家结局了这个问题,希望可以共享一下。

  • 2.data filter

这个之前已经说过了,这里不重复了。

  • 3.chart plugin

这个我们后面再讲

  • 4 Bookmarks

这个使用起来十分简单,有两个参数需要配置
4.1. show_bookmarks 为True就显示 为False就隐藏
4.2. list_bookmarks
这个使用的地方我还没想到。不过我们可以按照文档来写

    list_bookmarks = [{
        'title': "first_bookmark",  # 书签的名称, 显示在书签菜单中
        'query': {'name': ""},  # 过滤参数, 是标准的 queryset 过滤
        'cols': ('id', 'name', 'address'),  # 显示的列
        'search': '杭'  # 搜索参数, 指定搜索的内容
    }]

用起来很简单,其次我们在xadmin中添加标签呢。

image.png

刚进到此界面,我们发现,我们根本就没有添加选项。我们来搜索一下看看。

image.png

这样我们就可以添加了。

  • 5.Data exporting
image.png

我们上面都不写的时候,有默认三种csv、xml、json

我们可以来改一下

image.png

只剩下了两种。

image.png
  • 6.Refresh the list at given intervals.
  • 7.Display data details
  • 8.instant data edit

这几个都挺简单的,只需要配置相应的参数即可,这里不多解释了。

这里回来看一下chart plugin,一开始我以为会很麻烦,发现并不是,配置也很简单。
我们只需要加上这一句即可

data_charts = {
        "user_count": {'title': u"course_num", "x-field": "addtime", "y-field": ("course_num"),
                       "order": ('addtime',)
                       }
    }

效果是这样的。

image.png

很强大!明天看一下,自定义插件。

资料下载地址
资料直接下载

坚持三十天,一起加油!

相关文章

网友评论

  • 75e38bbefaa9:我按你写的方法 编写Action ,怎么提示NameError: name 'MyAction' is not defined,求助。
    75e38bbefaa9:已搞定了。
  • Jaris:还有第十三天么,想学习下自定义插件
    Rokkia:@Jaris 慢慢来 多去google找找
    Jaris:@__鲸_ 唉,最近要求在xadmin上扩展自定义插件,好难找
    Rokkia:@Jaris 并没有了
  • 简书用户9527:等你写完了,我再继续基础学习😂😂
    Rokkia:@蛇崽 好的 本来今天想写点的 被一个地方卡住了,明天再看看:joy:
  • c26b6f80ee9a:相信你坚持的下来
    Rokkia:@我有病我高兴 谢谢,会加油的

本文标题:Django学习记录第十二天—xadmin操作

本文链接:https://www.haomeiwen.com/subject/bmhqhxtx.html