stark组件配置,二层URL】的更多相关文章

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.…
from django.urls import re_path from stark.servers.start_v1 import site, StartHandler from django.http import HttpResponse, JsonResponse from app01 import models class DepartHandler(StartHandler): '''定义增删改查''' def extra_url(self): return [ re_path("d…
为register 函数添加一个,prev参数,默认None ,用于可以让用户自己指定前缀. def register(self, model_class, handler_class=None, prev=None): if handler_class is None: handler_class = StartHandler # 做个默认的Handler self._registry.append({'model_class': model_class, "handler": ha…
一.内容回顾 类可否作为字典的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…
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.name class Book(models.Model): title=models.…
模拟 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…
项目启动时自动生成URL 效果图: 知识点: Django启动前通过apps下的ready方法执行一个可以生成URL的py文件 include函数主要返回有三个元素的一个元组.第一个是url配置(urlpatterns),第二个是app(app_name),第三个是命名空间(namespace). 通过单例模式,我们反复操作一个对象. 项目名:stark_practice 业务app:web stark app:stark 一.在业务表中生成数据库 web/models.py from djan…
效果图: Handler类里处理的增删改查.路由分发.给URL设置别名等包括以后还要添加的很多功能,每一个数据库的类都需要,所以我们要把Handler提取成一个基类.提取成基类后,每一个数据表都可以继承这个基类,然后有需要的话可以在这个基类的基础上重写函数,定制自己的方法. Handler下新增函数get_urls是为了解耦Stark类下的get_urls 一.stark组件 stark/service/core_func.py from django.urls import re_path f…
一.需求 仿照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…
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…
. stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好sites.py中的site类,实例化出一个类对象,其他文件都直接引用这个类对象(单例模式), . 模型类和数据库也要确定好 本节内容: 1.写stark的前期准备工作 2.stark组件之启动 3.stark组件之注册功能 4.stark组件之类变量查询 5.stark组件之url二级分发 6.静态文…
现在让我说啥是stark组件,我也说不清楚.反正从今天讲的知识来看,今天完成的就是自己写一个模块,这个模块包含了admin后台管理工具的一些比较好用的功能,我们把它提炼出来,也就是相当于自己写一个admin后台管理工具,但这个工具不叫admin了,叫stark.既然是模仿admin的实现功能,所以整个执行过程和admin是一样的.首先我们得建一个stark包,即一个stark文件夹,在这里,我们也可以新建一个APP叫stark也行. 第一步,启动所有APP下的stark.py文件 每当我们创建一…
那么从今天开始呢,我们就要开始设计属于我们自己的admin组件,起个名字就叫stark吧(当然你愿意叫什么都可以). stark组件之四步走 仿照admin组件实现流程,stark组件要实现四件事情: step1 djagno启动后要能够执行每一个app下的名为stark.py的文件(需要单独创建) ① 在settings配置文件中,确保 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contr…
2018-10-18 19:15:54 等这个stark组件做完了再上传到github上面,然后再整理博客!这就到周末啦! 因为models导入的时候出现bug,所以只有源码没有测试数据! 源码都有注释,已经很详细啦! 一步一步能看懂! 里面重要的思想就是 用类封装,组件用模块封装! 然后解耦!把重复的东西封装成类!面向对象编程! 看源码也许是一种享受! 越努力,与幸运!永远不要高估自己! 新增了 搜索框!和批量操作! 批量操作没有默认的删除可以迭代自行完成!批量操作需要用户自己定制函数 先放上…
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…
前情提要: 本节内容 自定制分页器 保存及查询记录 代码整理, stark组件search 查询    一:自定制分页器 page 1:创建类 Pagination  # 自定制分页器 _ _init_ _ 属性说明  2: 分页器的数据说明,以及简单的数据去除 3 : 页面分析 如果总数为100个,   设置每页8个数据       结果展示如下 4: 展示每页的数据 设置展示本页开始数据索引和本页结束数据索引 由  3 可知 ,每页的展示情况  5 :展示页码 正常展示 显示最后一页 6 :…
# Create your models here. from django.db import models class Department(models.Model): """ 部门表 市场部 1000 销售 1001 """ title = models.CharField(verbose_name='部门名称', max_length=16) code = models.IntegerField(verbose_name='部门编号',…
自定义admin管理工具(stark组件) 创建项目 了解了admin的功能后,我们可以开始仿照admin编写我们自己的管理工具stark组件 首先创建一个新的项目,并创建三个app stark就是我们要编写的组件,我们的主要逻辑就写在里面 在settings配置中分别注册这三个app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.c…
admin组件 admin组件为我们提供了针对django管理页面 我们先简短来看下django的admin组件的启动流程,注册流程,url匹配过程 启动注册 1. 扫描所有应用下的注册了应用中的admin.py文件(启动,即扫描) from django.contrib.admin.sites import site from django.utils.module_loading import autodiscover_modules def autodiscover(): autodisc…
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例…
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'…
stark组件之需求 仿照Django中的admin , 开发了自己的stark组件,实现类似数据库客户端的功能,对数据进行增删改查 . stark之创建 1.在项目中 创建stark应用,app01,app01应用(app01,app02是我们用来演示的两个应用) 2.把创建的应用在settings.py进行注册子到django中 3.在app01.和app02中创建模型 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.au…
效果图: 新增函数和类 Option 获取字段的对象或元组 SearchGroupRow 封装数据,展示到前端 get_search_group 获取组合搜索的字段 get_search_group_condition 获取组合搜索的筛选条件 一.stark组件 import functools from types import FunctionType from django import forms from django.db.models import Q from django.db…
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…
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组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在读取项目中 路由加载 之前执行某个py文件. 在任意app的apps.py中的Config类中定义ready方法,并调用autodiscover_modules from django.apps import AppConfig from django.utils.module_loading im…
admin组件: 博客里面的图片的是在太难弄了,有大哥会弄给我贴一片博客,我一个一个加太累了,没有加 admin参考:https://www.cnblogs.com/yuanchenqi/articles/8323452.html model参考:https://www.cnblogs.com/yuanchenqi/articles/8963244.html # admin的参数,以及自定义显示 from django.contrib import admin from app01.models…