一.先看下django的admin是如何实现批量操作 首先在配置类中定义一个函数 然后我们为这个函数对象设置一个属性,这个属性主要用来显示在select标签中显示的文本内容 最后把函数对象放到一个actions的列表中 下面看下具体的实现的代码 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request:…
一.先看下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…
一.先看下django的admin是如何做搜索功能的 配置一个search_fields的列表就可以实现搜索的功能 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request: :param queryset:这个就是需要批量操作的queryset对象 :return: """…
首先需要在settings注册app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1.apps.App1Config', "stark.apps.StarkConfig&qu…
我们的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_…
一.先看下什么django的admin的pop到底是个什么东西 其实就是这么一个东西, a.在添加页面,在一对多和多对多的项后加了一个+号 b.点击这个加号,会弹出对应的添加 页面,在新的添加 c.添加完成后,新打开的页面自动关闭,然后把新添加数据的添加到对应的框中 二.下面我们来实现pop功能 a.知识点1,实现点击按钮,弹出一个新的窗口这个功能 首先我们写一个如下的html文件,点击这个文件,会重新打开一个窗口 <!DOCTYPE html> <html lang="en&…
一.先看下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是如何实现过滤操作 首先在配置类中顶一个list_filter的列表,把要过滤的字段作为元素写i进去就可以了 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request: :param queryset:这个就是需要批量操作的queryset对象 :return: &quo…
  1.Window open() 方法 2.admin的pop添加按钮 3.stark之pop功能 3.知识点总结 4.coding代码 1.Window open() 方法 效果图   2.admin的pop添加按钮 3.stark之pop功能 POP功能: 1.如何只有多对多和一对多字段后面才渲染 "+" 2."+"的对应的跳转路径 3.保存添加记录的同时,应该将原页面对应的下拉菜单添加该记录. 1. 2.多对多字段如何渲染 3.isinstance判断类型…
1.Window open() 方法 http://www.runoob.com/jsref/met-win-open.html 效果图   2.admin的pop添加按钮 3.stark之pop功能 1.父相子绝 2.多对多字段如何渲染 3.isinstance判断类型 4.  一对多或多对多字段的关联模型 5.bootstrap页面自适应col-xs-8 6.model表显示的是__str__ 7.构造url 8.传递数据,window.open使用 3.知识点总结 1.pop功能: 1.在…
stark组件的设计主要来源于django中admin的功能,在django admin中只需要将模型表进行注册,就可以在页面对该表进行curd的动作,那么django admin是如何做的呢? 在django中有自动发现功能的函数,发现每一个admin模块 # ACTION_CHECKBOX_NAME is unused, but should stay since its import from here # has been referenced in documentation. fro…
一.需求 仿照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组件是仿照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组件的使用 组件的字段 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组件之需求 仿照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…
###############  admin基本认识和常用的定制功能    ############### stark组件 对admin的基本认识 1,就是一个app,嵌入到了django里面,你可以在settings中看到 2,就是一个web后台管理工具,使用它可以更加的方便 3,通常我们在生成项目时会在 urls.py 中自动设置好url访问路径 urlpatterns = [ url(r'^admin/', admin.site.urls) ] 4,启动开发服务器,然后在浏览器中访问 ht…
  1.stark - 总结 用到的知识点: 1.单例模式 2.继承 3.反射 4.面向对象 5.modelform 1.注册表 单例模式 site = StarkSite() 2.生成url url(r'^stark/', ([],None,None)) 3.数据列表展示 可自定制配置显示: list_display = ["__str__"] list_display_links = [] modelform_class = [] search_fields = [] action…
. stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好sites.py中的site类,实例化出一个类对象,其他文件都直接引用这个类对象(单例模式), . 模型类和数据库也要确定好 本节内容: 1.写stark的前期准备工作 2.stark组件之启动 3.stark组件之注册功能 4.stark组件之类变量查询 5.stark组件之url二级分发 6.静态文…
一.filter 效果图 知识点 1.配置得显示Filter,不配置就不显示了 list_filter = ['title','publish', 'authors'] 2.前端显示 后端返回 字典 eg:{"publish":["<a href=''>全部</a>","<a href=''>南京出版社</a>","<a href=''>上海出版社</a>"…
效果图: 新增函数和类 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…
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…
1.构建批量删除按钮 2.filter过滤 3.总结+coding代码 1.构建批量删除按钮 1.admin中每个页面默认都有 2.stark之构建批量删除 3.coding {% extends 'base.html' %} {% block title %} <title>list页面</title> {% endblock %} {% block header %} <h3>list页面</h3> {% endblock %} {% block con…
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.…
一.内容回顾 类可否作为字典的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…
2018-10-18 19:15:54 等这个stark组件做完了再上传到github上面,然后再整理博客!这就到周末啦! 因为models导入的时候出现bug,所以只有源码没有测试数据! 源码都有注释,已经很详细啦! 一步一步能看懂! 里面重要的思想就是 用类封装,组件用模块封装! 然后解耦!把重复的东西封装成类!面向对象编程! 看源码也许是一种享受! 越努力,与幸运!永远不要高估自己! 新增了 搜索框!和批量操作! 批量操作没有默认的删除可以迭代自行完成!批量操作需要用户自己定制函数 先放上…