stark组件数据库管理软件的总结
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 = []
actions = []
list_filter = []
4.增删改页面 modelform 5.分页
自定义分页组件 stark/utils/page.py
class Pagination(object):
...
6.search模糊查询
Q查询 or
search_connection = Q()
...
data_list = self.model.objects.all().filter(search_connection)
7.action批量处理
def patch_init(self, request, queryset):
queryset.update(price=123)
...
patch_init.short_description = "批量初始化"
actions = [patch_init]
queryset = self.model.objects.filter(pk__in=selected_pk)
8.filter过滤
list_filter = ['title','publish', 'authors']
eg:{"publish":["<a href=''>全部</a>","<a href=''>南京出版社</a>","<a href=''>上海出版社</a>"]
"authors":["<a href=''>全部</a>","<a href=''>yuan</a>","<a href=''>egon</a>"]
} Q查询 and
filter_condition = Q()
data_list = self.model.objects.all().filter(search_connection).filter(filter_condition)
9.pop弹出
在一对多和多对多字段后渲染 +
+对应的跳转路径
保存添加记录同时,将原页面的对应的下拉菜单中添加该记录
2、各种小知识点
from django.test import TestCase # Create your tests here. #
# class A(object):
#
# x=12
# def __init__(self,m):
# self.z = m
# def xxx(self):
# print(self.x)
# print(self.z)
#
# class B(A):
# x=5
# z = 11
#
# b=B(10)
# b.xxx() #######################################
#
# class Person(object):
# def __init__(self,name):
# self.name = name
#
# alex = Person('alex')
# print(alex.name)
#
# s = 'name'
#
# # print(alex.s) # 用反射
#
# getattr(alex,s)
#
# print(getattr(alex,s)) #######################################
# 没学面向对象之前,都是函数 , # 函数 方法 # class Person(object):
# def __init__(self,name):
# self.name = name
#
# def eat(self): # 方法!
# print(self)
# print('eating...')
#
# # 实例方法
# # egon = Person('egon')
# # egon.eat()
#
# # 函数
# Person.eat('ss') ####################################### # list = [1,2,3]
# list.append(4)
# print(list)
# list.insert(0,100)
# print(list) #######################################
# li = []
# print(len(li))
#
# s = "sss"
# print(isinstance(s,str)) ####################################### # class Person(object):
# def __init__(self,name):
# self.name = name
#
# def __str__(self):
# return self.name
#
# alex = Person('alex')
# # print(alex.name)
# # print(alex)
#
# print(alex.__str__())
# print(str(alex))
#
# print(getattr(alex,'__str__')()) #######################################
# temp = []
# temp.append(1)
# temp.extend([1,2,3])
# print(temp) ####################################### # def foo():
# return
#
# print(foo.__name__) #######################################
# 查询是字段名称
# Book.objects.filter(Q(title='yuan')|Q(price='123')) # Q() 查询放str,
# q = Q()
# q.connection = 'or'
# q.children.append(('title','yuan'))
# q.children.append(('price',123)) ####################################### # ret = self.model.objects.filter(title__startswith='py')
# ret = self.model.objects.filter(price__in=[123, 111, 21, 11])
# ret = self.model.objects.filter(price__range=[10, 100])
# ret = self.model.objects.filter(title__contains='y')
# ret = self.model.objects.filter(title__contains='o')
# ret = self.model.objects.filter(title__icontains='o')
# print(ret)
# return HttpResponse('ok') ####################################### # def foo():
# print('ok')
#
# print(foo.__name__)
# print(type(foo.__name__))
# foo.desc = '123'
# print(foo.desc)
# a = foo()
# a.desc = 12
# print(a.desc) ####################################### # class A(): # str = "http://127.0.0.1:8000/stark/app01/book/?publish=1&author=5" #######################################
# class A(object):
# pass
#
# class B(A):
# pass
#
# b = B()
# print(isinstance(b,A)) # True
# print(isinstance(b,B)) # True test.py
3、目录结构

最后就是这个组件是想要做一个CRM的管理系统,所以在想怎么对表进行操作,怎么进行个性化的自定制等等,这个组件可以服务任何的Django项目,是一个
可插拔式的组件,只需要在项目中粘贴过去并且在settings中配置好就可以使用了,可用性还是非常的高。
stark组件数据库管理软件的总结的更多相关文章
- admin源码解析及自定义stark组件
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...
- Mysql初识数据库《二》数据库管理软件的由来
数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运 ...
- access数据库管理软件收集下载
access百科 Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Mi ...
- 【django之stark组件】
一.需求 仿照django的admin,开发自己的stark组件.实现类似数据库客户端的功能,对数据进行增删改查. 二.实现 1.在settings配置中分别注册这三个app # Applicatio ...
- django 之 stark组件
----------------------------------------------------------------烦恼没完没了,内心动荡不安,呜呼哀哉. 一.有个特殊的需求,需要用sta ...
- 设计stark组件
设计stark组件 作者:Eric 微信:loveoracle11g 新建Django项目crm_1随便起名 然后再创建一个App manage.py@crm_1 > startapp star ...
- stark组件的分页,模糊查询,批量删除
1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class ...
- stark组件配置,二层URL
1.django的admin配置 2 stark组件开发 3.2层url分发 4.小结 1.django的admin配置 model.py from django.db import models # ...
- CRM项目之stark组件
. stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好si ...
随机推荐
- Linux中keepalived+LVS负载均衡的搭建测试
1.1 LVS简介 LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个自由软件项目.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Lin ...
- mybatis根据数据库表结构自动生成实体类,dao,mapper
首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifac ...
- #004 C语言大作业学生管理系统试着做
链表不会用 文件不会使 在这种情况下就边写边做 希望这个月能做完这个作业 #include<stdio.h> #include<stdlib.h> #include<st ...
- 你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧
序 所有的文章都会有序言,我的当然也不例外. 因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣. 希望孩子长大了之后能热爱编程(可以不用以它谋生). ...
- 《Java大学教程》—第7章 类的实现
统一建模语言(UML)用方框代表类.方框被分成3部分,第一部分是类名,第二部分是类的属性,第三部分是类的方法.类的属性(属性名称:属性类型):类的方法(方法名称(参数类型):返回值类型).静态的类的属 ...
- Linux之命令初识
Linux与windows目录结构对比 命令mkdir.ls.ls -l.cd .pwd [root@oldboyedu-01 ~]# #创建目录 make directory mkdir [root ...
- 关于Swift中的指针的那些事
前言 在Objective-c的世界中,一切对象都是指针.它是一种运行时语言,具体指针的对象类型将会在运行时,由系统分配.这样虽然自由,但是却并不安全. Swift世界就不一样了,Swift的世界很安 ...
- css3 object-fit详解
上传头像的时候遇到了头像变形的问题,最后通过object-fit: cover完美解决了.这个CSS属性可以达到最佳最完美的居中自动剪裁图片的功能. object-fit理解 CSS3 backgro ...
- [POI2012]SZA-Cloakroom
嘟嘟嘟 一道比较有意思的dp. 这题关键在于状态的设计.如果像我一样令\(dp[i][j]\)表示选到第\(i\)个物品,\(\sum c\)能都等于\(j\)的话,那就是\(O(qnk)\)了,怒拿 ...
- 转://RMAN跨平台可传输表空间和数据库
参考链接: http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164 ...