模拟Django的admin自定义stark组件】的更多相关文章

1.新建Django项目--新建app:app01和stark--在settings中配置app和数据库--在models.py中新建模型表--完成数据库迁移 2.在stark下的apps.py中: from django.apps import AppConfig from django.utils.module_loading import autodiscover_modules class StarkConfig(AppConfig): name = 'stark' def ready(…
---恢复内容开始--- admin源码解析 一 启动:每个APP下的apps.py文件中. 首先执行每个APP下的admin.py 文件. def autodiscover(): autodiscover_modules('admin', register_to=site) 二 注册:在admin中注册,那么我们在登录admin的后台管理的时候回显示出来. class AdminSite(object): def __init__(self, name='admin'): self._regi…
admin源码解析 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例…
2018-10-15 12:28:50 越努力,越幸运!永远不要高估自己! 低调做人,高调做事! 明天开stark项目!! admin 参考连接: http://www.cnblogs.com/yuanchenqi/articles/8323452.html admin里面的一些配置 admin.py from django.contrib import admin from .models import * # 带*的是必回的,其他了解,重点的注意 list_filter class Book…
一. url知识 还记得include分发么?里面的参数都可以有些什么? urlconf_module本质是返回的是模块路径对象 def include(arg, namespace=None, app_name=None): ....... return (urlconf_module, app_name, namespace) 1. 字符串格式? url(r'^joker/', include('app01.urls')), 源码解释. patterns = getattr(urlconf_…
CRM系统主要通过自定义stark组件来实现的(参照admin系统自定义): STARK组件: 1 admin组件 1 如何使用admin 2 admin源码 3 创建自己的admin组件:stark (1)当django启动时加载每一个app下的stark.py文件   做法:在stark组件的apps.py文件下写下如下代码,这样就会启动每个app下的stark文件 from django.apps import AppConfig from django.utils.module_load…
反向解析 在上一篇文章中,我们创建好了stark这个组件,一个应用一个表有四个默认的url,那么我们如何区别这些url,因为可能会有重复现象(本组件不会,因为前面拼接了应用名,表明,肯定唯一),概念请转至http://www.cnblogs.com/jokerbj/p/8337486.html反向解析,解决url重复问题 命名空间 我们解决了url问题,但是有可能每个应用下也会存在url相同,这个时候django只会标识其中一个,为了解决这个问题,我们加入命名空间概念,转至http://www.…
仿照admin的stark自定义组件的功能实现:其中最主要的就是增删改查的实现 1.查:首先页面中显示表头和数据,都是动态的,而不是写死的. (1) 先看表头和表单数据:这个是查看的视图函数,但是为了使视图函数里边的代码简洁,在默认配置类的外部定义一个展示类, 因为在展示页面上会展示我们数据库中的数据,搜索框,过滤框,等.所以专门定义一个展示类. # 查看视图函数,将此里边的函数封装成一个函数 def listview(self, request): # print(self) # 当前访问模型…
一.先看下django的admin是如何实现批量操作 首先在配置类中定义一个函数 然后我们为这个函数对象设置一个属性,这个属性主要用来显示在select标签中显示的文本内容 最后把函数对象放到一个actions的列表中 下面看下具体的实现的代码 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request:…
一.先看下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…