Django之stark组件2】的更多相关文章

一.需求 仿照django的admin,开发自己的stark组件.实现类似数据库客户端的功能,对数据进行增删改查. 二.实现 1.在settings配置中分别注册这三个app # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contr…
----------------------------------------------------------------烦恼没完没了,内心动荡不安,呜呼哀哉. 一.有个特殊的需求,需要用stark组件来完成 django的admin,自己开发stark组件.完成类似数据库客户端的功能,对数据进行增删改查的需求. 二.这个特殊的需求,需要用stark组件来实现 1.在settings配置中分别注册这三个app # Application definition INSTALLED_APPS…
现在让我说啥是stark组件,我也说不清楚.反正从今天讲的知识来看,今天完成的就是自己写一个模块,这个模块包含了admin后台管理工具的一些比较好用的功能,我们把它提炼出来,也就是相当于自己写一个admin后台管理工具,但这个工具不叫admin了,叫stark.既然是模仿admin的实现功能,所以整个执行过程和admin是一样的.首先我们得建一个stark包,即一个stark文件夹,在这里,我们也可以新建一个APP叫stark也行. 第一步,启动所有APP下的stark.py文件 每当我们创建一…
Stark组件的使用 组件的字段 list_display=[] 需要显示的字段 list_display_links=[] #需要链接编辑字段 Stark_Model_Form=[] #设置Model_Form search_fields=[] #搜索字段(多对多一对多需要__) actions=[] #自定义actions方法 list_filter=[] #过滤字段 不包括普通字段 字段 组件具体用法 from stark.server.stark import ModelStark,si…
stark组件 stark组件是根据Django admin为原型写的一个组件,能够让我们告别增删改查.stark组件是可插拔试的组件, 移植性强,而且只用配置文件就能够得到想要的数据 一.stark组件路由分发 admin用这一条路由就实现了注册表单*4的url. 路由分发的原理: 知识一:admin之路由分发原理: def text01(request): return HttpResponse('text01') def text02(request): return HttpRespon…
action批量处理功能 用户可以自定义批量处理功能,但是默认的有批量删除功能. ***思路*** 1,定义一个列表用来装action的类名并extend用户自定义列表 2.循环该列表获取到函数名(用于执行)和方法名用于展示 3.post提交,(selected_id是几个checkbox)(actions是类名)判断actions提交的是什么方法,就执行该方法. ############ class ModelStark(object): actions=[] def get_actions_…
一.先看下什么django的admin的pop到底是个什么东西 其实就是这么一个东西, a.在添加页面,在一对多和多对多的项后加了一个+号 b.点击这个加号,会弹出对应的添加 页面,在新的添加 c.添加完成后,新打开的页面自动关闭,然后把新添加数据的添加到对应的框中 二.下面我们来实现pop功能 a.知识点1,实现点击按钮,弹出一个新的窗口这个功能 首先我们写一个如下的html文件,点击这个文件,会重新打开一个窗口 <!DOCTYPE html> <html lang="en&…
一.先看下django的admin是如何实现批量操作 首先在配置类中定义一个函数 然后我们为这个函数对象设置一个属性,这个属性主要用来显示在select标签中显示的文本内容 最后把函数对象放到一个actions的列表中 下面看下具体的实现的代码 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request:…
一.先看下django的admin是如何做搜索功能的 配置一个search_fields的列表就可以实现搜索的功能 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request: :param queryset:这个就是需要批量操作的queryset对象 :return: """…
一.先看下django的admin是如何进行路由分发的 1.先看下django的admin的url路径有哪些 其实很简单,假如有一个书籍表,那么每张表对应四个url,增.删.改.查 查看的url http://127.0.0.1:8080/admin/app1/auther/ 编辑的url http://127.0.0.1:8080/admin/app1/auther/23/change/ 增加的url http://127.0.0.1:8080/admin/app1/auther/add/ 删…
一.先看下django的admin是如何实现注册功能 首先导入admin这个对象和我们的model模块 from django.contrib import admin # Register your models here. from app1 import models 然后调用admin的register方法进行注册 admin.site.register(models.book,testbook) admin.site.register(models.publist) admin.sit…
stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作. 一.配置 1.创建stark应用,在settings.py中注册stark应用 stark APP专门用于存放自定义组件的核心代码. manage.py@stark_demo > startapp stark 在settings.py文件注册stark: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth'…
1.新建Django项目--新建app:app01和stark--在settings中配置app和数据库--在models.py中新建模型表--完成数据库迁移 2.在stark下的apps.py中: from django.apps import AppConfig from django.utils.module_loading import autodiscover_modules class StarkConfig(AppConfig): name = 'stark' def ready(…
我们的stark组件用的我们的分页组件,没有重新写 下面直接看下分页的代码 class page_helper(): def __init__(self, count, current_page, per_page_num, base_url,parms): self.count = count self.current_page = current_page self.per_page_num = per_page_num self.base_url = base_url self.page_…
设计stark组件 作者:Eric 微信:loveoracle11g 新建Django项目crm_1随便起名 然后再创建一个App manage.py@crm_1 > startapp stark 写这个stark组件是为了全方位的替换掉Django里面的admin组件 然后配置文件注册进去 'stark.apps.StarkConfig', makemigrations migrate…
1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class形式(有bug,请看下面的)   """ 自定义分页组件 """ class Pagination(object): # def __init__(self, data_num, current_page, url_prefix, params, p…
1.django的admin配置 2 stark组件开发 3.2层url分发 4.小结 1.django的admin配置 model.py from django.db import models # Create your models here. class UserInfo(models.Model): name=models.CharField(max_length=32) age=models.IntegerField() def __str__(self): return self.…
. stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好sites.py中的site类,实例化出一个类对象,其他文件都直接引用这个类对象(单例模式), . 模型类和数据库也要确定好 本节内容: 1.写stark的前期准备工作 2.stark组件之启动 3.stark组件之注册功能 4.stark组件之类变量查询 5.stark组件之url二级分发 6.静态文…
那么从今天开始呢,我们就要开始设计属于我们自己的admin组件,起个名字就叫stark吧(当然你愿意叫什么都可以). stark组件之四步走 仿照admin组件实现流程,stark组件要实现四件事情: step1 djagno启动后要能够执行每一个app下的名为stark.py的文件(需要单独创建) ① 在settings配置文件中,确保 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contr…
一.内容回顾 类可否作为字典的key 初级 举例: class Foo(object): pass _registry = { Foo:123 } print(_registry) 执行输出: {<class '__main__.Foo'>: 123} 说明说法是成立的. 中级 class User(object): pass class Role(object): pass class Bar(object): def __init__(self,b): self.b = b _regist…
关于stark组件的简要介绍: 启动后.路由加载前定制一段代码.         a. 创建一个 stark  app 组件                  b. 编写ready方法 from django.apps import AppConfig class StarkConfig(AppConfig): name = 'stark' def ready(self): from django.utils.module_loading import autodiscover_modules…
2018-10-18 19:15:54 等这个stark组件做完了再上传到github上面,然后再整理博客!这就到周末啦! 因为models导入的时候出现bug,所以只有源码没有测试数据! 源码都有注释,已经很详细啦! 一步一步能看懂! 里面重要的思想就是 用类封装,组件用模块封装! 然后解耦!把重复的东西封装成类!面向对象编程! 看源码也许是一种享受! 越努力,与幸运!永远不要高估自己! 新增了 搜索框!和批量操作! 批量操作没有默认的删除可以迭代自行完成!批量操作需要用户自己定制函数 先放上…
Stark组件构建 1.启动所有app下的stark.py文件,的配置实现步骤 1.创建一个Django项目crm,并创建  app1 ,app2, stark 三个app 2.在crm 项目的settings中配置: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.…
模拟 admin 组件url设计思路 项目urls 文件中: from django.contrib import admin from django.urls import path from stark.service.sites import site urlpatterns = [ path('admin/', admin.site.urls), path('stark/', site.urls), ] 1.路径设计格式:列表中放路径 1.第一级路径  :path ("stark/&qu…
CRM系统主要通过自定义stark组件来实现的(参照admin系统自定义): STARK组件: 1 admin组件 1 如何使用admin 2 admin源码 3 创建自己的admin组件:stark (1)当django启动时加载每一个app下的stark.py文件   做法:在stark组件的apps.py文件下写下如下代码,这样就会启动每个app下的stark文件 from django.apps import AppConfig from django.utils.module_load…
---恢复内容开始--- admin源码解析 一 启动:每个APP下的apps.py文件中. 首先执行每个APP下的admin.py 文件. def autodiscover(): autodiscover_modules('admin', register_to=site) 二 注册:在admin中注册,那么我们在登录admin的后台管理的时候回显示出来. class AdminSite(object): def __init__(self, name='admin'): self._regi…
前情提要: 复习:  1: orm !!!!! 2: session 3: django 4:  前端在复习 5:  复习中间件 学习的stark 的组件调用,以及权限的应用 一:权限的概念,  1:一个权限对应一个url  二:分析表情况关系 五表结构 (rbac)      1:表内容介绍 2:介绍: 通过把权限和角色多对多绑定, 人物和角色多对多绑定,的操作可以避免相同的人物多重权限时候的操作 三:创建模型类 1:新建项目:crm  2:导入自己创建的stark组件 3:创建app01 4…
  前情提要: 今天学的是stark 组件的 action  和多层过效果 一: action (自定制函数多选功能效果) 1: 学习 观点明确:     2: 多选效果前端和后端进行的操作   2>1前端发过来的是& 拼接形式 2 >2 后端django 会自动把形同的key 的内容进行拼接成列表 二: action 内容赋值 即给ckeck 绑定id    1:前端内容赋值    2:django->statie 内容书写前端代码 三: 设置多选函数框 action框 1:…
前情提要: 本节内容 自定制分页器 保存及查询记录 代码整理, stark组件search 查询    一:自定制分页器 page 1:创建类 Pagination  # 自定制分页器 _ _init_ _ 属性说明  2: 分页器的数据说明,以及简单的数据去除 3 : 页面分析 如果总数为100个,   设置每页8个数据       结果展示如下 4: 展示每页的数据 设置展示本页开始数据索引和本页结束数据索引 由  3 可知 ,每页的展示情况  5 :展示页码 正常展示 显示最后一页 6 :…
    前情提要:Django  stark 组件开发的 增删改,  model_form组件的使用 form组件的回顾 一:list_display_link  创建 功能描述:   使包含的字段能用进行跳转(编辑界面) 1:在strak组件中设置对应的接口 2:在注册表中填写注册的内容 注意该内容要对应自制列中的属性元素,即model的属性名 3:在stark中给model普通属性附加a标签    4:效果图 ,即实现了反向解析,又实现了编辑功能     二:form 组件回顾 1: for…