在文章stark组件前戏中已经提到过,django的注册功能是通过AdminSite的单例进行组册的,所以在这里也可以进行单例模式. class AdminSite(object): def __init__(self): self._registry=[] self.app_name='stark' self.namespace='stark' def register(self,model_class,stark_class=None,prev=None): if not stark_cla…
一.先看下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是如何进行路由分发的 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/ 删…
. stark也是一个app(用startapp stark创建),目标时把这个做成一个可以拔插的组件 . setting文件下INSTALLED_APPS 路径要配置好(app的注册) . 写好sites.py中的site类,实例化出一个类对象,其他文件都直接引用这个类对象(单例模式), . 模型类和数据库也要确定好 本节内容: 1.写stark的前期准备工作 2.stark组件之启动 3.stark组件之注册功能 4.stark组件之类变量查询 5.stark组件之url二级分发 6.静态文…
Stark组件构建 1.启动所有app下的stark.py文件,的配置实现步骤 1.创建一个Django项目crm,并创建  app1 ,app2, stark 三个app 2.在crm 项目的settings中配置: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.…
一.如图所示 from django.contrib import admin from . import models class zhangsan(admin.ModelAdmin): list_display = ('name', 'email') list_editable = ('email',) search_fields = ["name"] date_hierarchy = 'ctime' admin.site.register(models.UserInfo,zhan…
一.内容回顾 类可否作为字典的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…
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52204143 前言:为什么要了解系统Activity,Service,BroadCastReceiver,ContentProvider的启动流程,这是一个对于即将理解插件中的四大组件动态注册,占坑的前提,如果不了解的话,那么很难了解插件hook哪此东西,又是如何骗过AMS来启动Activity,Service,BroadCastReceiver,ContentProvider? 本…
1. 常见路由 @app.route('/user/<username>') @app.route('/post/<int:post_id>') @app.route('/post/<float:post_id>') @app.route('/post/<path:path>') @app.route('/login', methods=['GET', 'POST']) 常用路由系统有以上五种,所有的路由系统都是基于一下对应关系来处理: DEFAULT_CO…
介绍: stark组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在读取项目中 路由加载 之前执行某个py文件. 在任意app的apps.py中的Config类中定义ready方法,并调用autodiscover_modules from django.apps import AppConfig from django.utils.module_loading im…