###############    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组件     ################

crm项目-stark组件分析的更多相关文章

  1. crm项目-stark组件

    ###############  admin基本认识和常用的定制功能    ############### stark组件 对admin的基本认识 1,就是一个app,嵌入到了django里面,你可以 ...

  2. day 70 crm(7):stark组件调用,以及权限分配

    前情提要: 复习:  1: orm !!!!! 2: session 3: django 4:  前端在复习 5:  复习中间件 学习的stark 的组件调用,以及权限的应用 一:权限的概念,  1: ...

  3. crm 使用stark组件

    # Create your models here. from django.db import models class Department(models.Model): "" ...

  4. day67 crm(4) stark组件的增删改 以及 model_from使用和from组件回顾

        前情提要:Django  stark 组件开发的 增删改,  model_form组件的使用 form组件的回顾 一:list_display_link  创建 功能描述:   使包含的字段能 ...

  5. crm项目-权限组件

    ###############    表结构分析     ################ """ 表结构设计: 1,四张表 用户表,userinfo,这个表本身不会被创 ...

  6. CRM项目之stark组件

    . stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好si ...

  7. CRM项目之stark组件(2)

    那么从今天开始呢,我们就要开始设计属于我们自己的admin组件,起个名字就叫stark吧(当然你愿意叫什么都可以). stark组件之四步走 仿照admin组件实现流程,stark组件要实现四件事情: ...

  8. CRM系统之stark组件流程分析

    CRM系统主要通过自定义stark组件来实现的(参照admin系统自定义): STARK组件: 1 admin组件 1 如何使用admin 2 admin源码 3 创建自己的admin组件:stark ...

  9. crm项目之stark组件前戏(二)

    stark组件的设计主要来源于django中admin的功能,在django admin中只需要将模型表进行注册,就可以在页面对该表进行curd的动作,那么django admin是如何做的呢? 在d ...

随机推荐

  1. 使用 prototype 定义方法和属性

    除了可以在类的构造器方法中定义方法和属性外,也可以使用 prototype 定义方法和属性.每个类都有这个属性,该属性是一个静态属性,因此无需实例化,只需使用类引用该属性即可. 1.1 使用 prot ...

  2. 新iPhone泄密12人被捕,苹果这是下狠手的节奏

    一直以来,苹果在保密这件事儿上就秉持着强硬态度.还记得当年乔老爷子在的时候,苹果的保密工作在科技行业算得上是首屈一指.每款iPhone及其他新品在正式发布前,几乎不会被曝出什么消息.而这,或许也是&q ...

  3. Mysql时间范围分区(RANGE COLUMNS方式)

    1.创建测试表 CREATE TABLE `t_test` ( `id` ), `dates` DATETIME ); ALTER TABLE t_test ADD PRIMARY KEY (id); ...

  4. maven项目编译报错处理

    1.问题一: [ERROR] Failed to execute goal on project data-common: Could not resolve dependencies for pro ...

  5. 吴裕雄--天生自然MySQL学习笔记:MySQL GROUP BY 语句

    GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, funct ...

  6. Java之创建线程的方式四:使用线程池

    import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c ...

  7. HDU-2544 最短路 Dijkstra模板题

    题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstr ...

  8. 测网速 fping Linux查看网络即时网速 linux性能问题(CPU,内存,磁盘I/O,网络)

    Linux查看网络即时网速 fping 是ping 工具的加强版本 例出局域网中存活的主机 (Ubuntu apt-get装上  cnetos装不上) zzx@zzx11:~$ fping -a 19 ...

  9. 计算机网络(2): http的基础上用SSL或TSL加密

    加密过程具体TCP实现 步骤 1 : 客户端通过发送Client Hello报文开始SSL通信(这里是在TCP的三次握手已经完成的基础上进行的).报文中包含客户端支持的SSL的指定版本.加密组件列表( ...

  10. UVA 125 统计路径条数 FLOYD

    这道题目折腾了我一个下午,本来我的初步打算是用SPFA(),进行搜索,枚举出发点,看看能到达某个点多少次,就是出发点到该点的路径数,如果出现环,则置为-1,关键在于这个判环过程,如果简单只找到某个点是 ...