第一部分:权限组件
…
第二部分:stark组件
如何使用:
在app编写 stark.py
在stark.py中进行定制
默认配置:
site.register(models.Project)
自定义配置:
class Projfig(StarkConfig): list_filter = [Option(),] 组合搜搜 search_list = [] #模糊搜索 action_list = [] #批量操作 list_display = [] #表格式列表上显示的字段 order_by = [] #排序 add_btn #是否显示添加按钮 model_from_class #自定义ModelFrom def extra_url(self):#自己扩展URl pass def get_url(self): #自定义url pass def add_view(self, request): #如果配置有逻辑,优先加载当前配置 pass def change_view(self, request, pk): pass def delete_view(self, request, pk): pass def changelist_view(self, request): pass site.register(models.Project,Projfig)
crm业务开发:
知识点:
闭包:
def f1(a1,a2): def inner(): ret = a1+a3 return ret return inner n1 = f1('ss','xx') n2 = f1('sws','wxx') n3 = f1('ws','xxw') n1() #作用:帮助开发者维护一个“私密”的空间,用于为以后执行提供数据
Form和ModelForm的区别:前者字段手动生成,后者自带
- Form
反射
#根据字符串的形式导入模块 #自定义 path = "x1.xx.Foo" module_path,class_name = path.rsplit('.'.maxsplit=1) import importlib m = importlib.import_module(module_path) #Foo类 cls = getattr(m,class_name) print(cls) #<class 'x1.xx.Foo'> #基于django内置模块 from django.utils.module_loading import import_string v= import_string('x1.xx.Foo') print(v) #<class 'x1.xx.Foo'>
开放封闭原则:对代码封闭对配置开放