zoukankan      html  css  js  c++  java
  • crm项目-stark组件分析

    ###############    stark组件     ################

    """
    
    这个stark组件是非常神奇的
    
    1,独立的一个组件
    2,没有model
    3,没有views
    
    """

    ###############    stark组件     ################

    """
    
    stark组件站点类
    这个是一个重点类,应该是研究这个组件的起点
    做了几件事
    1,模仿admin,利用了单例模式,
    2,模仿admin,可以对每一个表进行注册
    这一步参数就是模型类,视图类,传递过来,
    3,模仿admin,可以做第一层的路由分发,利用了django自带的url模块
    生成/app/model/,这种格式的url,这是启动程序就生成的,
    
    """

    ###############    stark组件     ################

    """
    
    stark组件默认处理视图
    这个非常重要,是核心
    
    第一,返回列表页面,这是最为复杂的,
    1,数据 2,表头 3,表内容 4,查询
    5,过滤 6,action 7,分页 8,添加按钮
    
    第二,添加页面
    第三,编辑页面
    第四,删除页面
    这四个页面都保留了定制,可以自己指定模板

    处理第二级的url,这才是拼接最终的url
    """

    ###############    stark组件     ################

    """
    
    stark组件处理视图
    1,每次处理视图都会校验权限,看是否有添加按钮,删除按钮,编辑按钮,
    把这个封装起来,每一个视图类都继承这个权限类,
    每一个视图类,都继承默认的视图,
    所以这个地方用到了多继承的知识,
    
    2,默认视图中每一个小的功能都封装成为一个函数,
    在真正的处理视图类继承默认视图之后,重写这些函数,达到定制的功能,
    
    
    
    """

    ###############    stark组件     ################

    """
    
    stark组件,option类
    这个类用来处理筛选,
    1,指定字段,这种一般就是一对多的字段,或者多对多的字段,
    2,可以定制是否支持多选,
    
    """

    ###############    stark组件     ################

    """
    
    如何不用stark组件是如何开发的?
    1,我需要研究一下博客项目,
    然后博客项目和crm项目比较就知道如何开发了,
    
    
    使用stark组件和使用admin组件开发后台有什么优势?
    1,django 的 admin其本意是一个简易的数据生成工具,
    主要用于项目初期阶段进行简单的数据管理,比较有局限性
    如果业务复杂些,admin可能就没有办法实现了
    最大的问题是很不灵活并且是难以定制。
    包括页面定制
    url扩展,页面扩展
    菜单管理,权限管理,
    
    Django admin 一般是用来给超级管理员实现一些基础的增删查改的,
    不建议给用户使用。但是目前项目中,有部分给用户使用的功能很类似 Django Admin 中的 ModelAdmin ,
    也就是把 Model 中某 Field 列出来查看、修改、新增。
    若是自己写 View 的话,比较重复,或者自行实现一个 ModelAdmin ?
    还是通过定制 Django admin 的 template 来实现较好?
    如果比较追求用户体验的话建议自己写, Django Admin 深度定制很麻烦,
    自己写,不用自带的 admin ,开发前期可以用用。
    给用户做是个巨坑,本来目的就是做个方便开发的后台原型,到后来你得 hack 很多东西,唯一的好处是吃透文档
    如果给用户用,千万别用 admin ,现在我正在填坑,还被别人在身边墨迹。因为你写前端交互的 js 已经打了无数个 patch,一团乱糟糟的
    问题是,我问到的每个人都持反对意见,他们认为 admin 只限于超级用户,很不灵活并且是难以定制。”        —来自 Reddit 的 andybak
    
    2,stark组件集成了bootstrap,更好的定制页面,
    扩展url,扩展页面,
    所有的功能,菜单,页面,都能他通过stark组件来集成进来,
    这才是真正的后台,使用admin就没有这么好扩展,定制,
    
    二者都是这样,开发curd重复工作而且麻烦,所以两者都可以节省curd的时间,专注于业务实现,
    
    对xadmin来说,可能你能读懂他的源代码后,会觉得,嗯,也是不错的
    
    
    """

    ###############    stark组件     ################

    ###############    stark组件     ################

    ###############    stark组件     ################

    ###############    stark组件     ################

    ###############    stark组件     ################

  • 相关阅读:
    [mysql]修改 mysql 数据库端口
    [Angular]基础饼图之我如何将鼠标显示内容的数字 " 1" 去掉
    大三总结
    有符号8位整数的冒泡排序
    康托逆展开
    判断计算机是大端还是小端存储方式及分析
    C语言细节——献给入门者(三)
    C语言复杂声明
    病毒篇
    C语言细节——献给初学者(二)
  • 原文地址:https://www.cnblogs.com/andy0816/p/12329941.html
Copyright © 2011-2022 走看看