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组件数据库管理软件的总结的更多相关文章

  1. admin源码解析及自定义stark组件

    admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单 ...

  2. Mysql初识数据库《二》数据库管理软件的由来

    数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运 ...

  3. access数据库管理软件收集下载

    access百科 Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Mi ...

  4. 【django之stark组件】

    一.需求 仿照django的admin,开发自己的stark组件.实现类似数据库客户端的功能,对数据进行增删改查. 二.实现 1.在settings配置中分别注册这三个app # Applicatio ...

  5. django 之 stark组件

    ----------------------------------------------------------------烦恼没完没了,内心动荡不安,呜呼哀哉. 一.有个特殊的需求,需要用sta ...

  6. 设计stark组件

    设计stark组件 作者:Eric 微信:loveoracle11g 新建Django项目crm_1随便起名 然后再创建一个App manage.py@crm_1 > startapp star ...

  7. stark组件的分页,模糊查询,批量删除

    1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class ...

  8. stark组件配置,二层URL

    1.django的admin配置 2 stark组件开发 3.2层url分发 4.小结 1.django的admin配置 model.py from django.db import models # ...

  9. CRM项目之stark组件

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

随机推荐

  1. Java监控类库Metrics

    Gauge含义:瞬时值值类型:不限 Counter:作用:可以insr, decr 的计数器值类型:数字 Histogram:含义:maximum, mean, etc., it also measu ...

  2. KVM使用

    这里使用的是Ubuntu18.04桌面版虚拟机 关于KVM可以看一下我之前的博客,有一些简单的介绍. 1.在打开虚拟机之前先开启此虚拟机的虚拟化功能. 2.安装KVM及其依赖项 wy@wy-virtu ...

  3. KFCM算法的matlab程序(用FCM初始化聚类中心)

    KFCM算法的matlab程序(用FCM初始化聚类中心) 在“聚类——KFCM”这篇文章中已经介绍了KFCM算法,现在用matlab程序对iris数据库进行实现,用FCM初始化聚类中心,并求其准确度与 ...

  4. Fetch请求后台的数据

    <style> #btn{ width: 50px; height: 50px; background-color: red; } #output{ width: 100px; heigh ...

  5. Boolean类型在EF和MySql中的映射关系

    MySQL没有Boolean类型.这也是比较奇怪的现象.例: create table xs ( id int primary key, bl boolean ) 这样是可以创建成功,但查看一下建表后 ...

  6. Eclipse使用过程中的经验总结

    1.Eclipse中如何配置JDK的Documents和Sources? "Windows"-> "Preferences"-> "Jav ...

  7. 【Teradata 】TD最大列数

    1.一个表最大列数限制是多少? DB2,表最大列数1012,视图最大列数5000:一行最大长度32677Byte Teradata 表最大列数和视图最大列数2048,:16版本前,一行最大长度为64k ...

  8. 在Eclipse中创建maven项目出现的环境警告 j2se-1.5

    Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace th ...

  9. (1)Python基础

    几种常用类型 int float str bool 基本数值操作 绝对值 abs 四舍五入 round 最大值&最小值

  10. SQLite这么娇小可爱,不多了解点都不行啊

    简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统.它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数据库.SQLite虽然娇小,但也支持事务和 ...