一.先看下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/ 删…
1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class形式(有bug,请看下面的)   """ 自定义分页组件 """ class Pagination(object): # def __init__(self, data_num, current_page, url_prefix, params, p…
我们的stark组件用的我们的分页组件,没有重新写 下面直接看下分页的代码 class page_helper(): def __init__(self, count, current_page, per_page_num, base_url,parms): self.count = count self.current_page = current_page self.per_page_num = per_page_num self.base_url = base_url self.page_…
一.先看下django的admin是如何做搜索功能的 配置一个search_fields的列表就可以实现搜索的功能 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request: :param queryset:这个就是需要批量操作的queryset对象 :return: """…
一.先看下什么django的admin的pop到底是个什么东西 其实就是这么一个东西, a.在添加页面,在一对多和多对多的项后加了一个+号 b.点击这个加号,会弹出对应的添加 页面,在新的添加 c.添加完成后,新打开的页面自动关闭,然后把新添加数据的添加到对应的框中 二.下面我们来实现pop功能 a.知识点1,实现点击按钮,弹出一个新的窗口这个功能 首先我们写一个如下的html文件,点击这个文件,会重新打开一个窗口 <!DOCTYPE html> <html lang="en&…
一.先看下django的admin是如何实现批量操作 首先在配置类中定义一个函数 然后我们为这个函数对象设置一个属性,这个属性主要用来显示在select标签中显示的文本内容 最后把函数对象放到一个actions的列表中 下面看下具体的实现的代码 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request:…
首先需要在settings注册app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1.apps.App1Config', "stark.apps.StarkConfig&qu…
一.先看下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是如何实现过滤操作 首先在配置类中顶一个list_filter的列表,把要过滤的字段作为元素写i进去就可以了 class testbook(admin.ModelAdmin): # 第一步,定义一个函数,必须要接受三个参数 def test_action(self,request,queryset): """ :param request: :param queryset:这个就是需要批量操作的queryset对象 :return: &quo…
---恢复内容开始--- 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…