crm——stark组件
1. stark介绍
在实际业务中,我们常常会面对对多张表的增删改查功能的开发需求,虽然django提供了强大的ORM,但我们还是需要设计一系列重复的逻辑代码。在此背景下,开发一个高扩展性且易用的组件来解决这一需求变得不可或缺。
因此我们自定义了 stark 组件,来满足快速完成对多张表的增删改查与自定义复杂操作。
2. 单例模式
我们这么写: zhaosen.py
class AdminSite(object):
pass
obj1 = AdminSite()
调用实例:
import zhaosen
zhaosen.obj1
zhaosen.obj1
3. 路由系统
- include
- namespace
- 补充:
项目/urls.py
from django.conf.urls import url,include
from django.contrib import admin
from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^rbac/', ([
url(r'^login/', views.login),
url(r'^logout/', views.logout),
url(r'^x1/', ([
url(r'^add/', views.add,name='n1'),
url(r'^change/', views.change,name='n2'),
],None,'xxx')),
],None,'rbac')),
]
app01/views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.urls import reverse
def login(request):
url1 = reverse('rbac:xxx:n1')
url2 = reverse('rbac:xxx:n2')
print(url1)
print(url2)
return HttpResponse('login')
def logout(request):
return HttpResponse('logout')
def add(request):
return HttpResponse('add')
def change(request):
return HttpResponse('change')
4. 启动后、路由加载前定制一段代码。
a. 创建一个stark app 组件
b. 编写ready方法
from django.apps import AppConfig
class StarkConfig(AppConfig):
name = 'stark'
def ready(self):
from django.utils.module_loading import autodiscover_modules
autodiscover_modules('stark')
程序启动时,会先去每个app中找stark.py文件并加载。
c. 其他app中创建stark.py
d. 程序启东时便会自动加载 stark.py
本文来自博客园,作者:YanceDev,转载请注明原文链接:https://www.cnblogs.com/yance-dev/p/9721025.html

浙公网安备 33010602011771号