04 2019 档案
redis 安装
摘要:cd 进入redis安装包中 在这个目录下 调用 make 指令。 对 src 中所有的源码文件,进行源码的编译。 下载、解压、编译Redis $ wget http://download.redis.io/releases/redis-5.0.4.tar.gz $ tar xzf redis-5. 阅读全文
posted @ 2019-04-30 21:48 rookiehbboy 阅读(111) 评论(0) 推荐(0)
selenium之 chromedriver与chrome版本映射表(更新至v2.46)
摘要:chromedriver版本支持的Chrome版本 v2.46 v71-73 v2.45 v70-72 v2.44 v69-71 v2.43 v69-71 v2.42 v68-70 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v 阅读全文
posted @ 2019-04-29 09:49 rookiehbboy 阅读(745) 评论(0) 推荐(0)
beautiful模块
摘要: 阅读全文
posted @ 2019-04-28 22:20 rookiehbboy 阅读(156) 评论(0) 推荐(0)
简单的爬虫
摘要:urllib python 中自带的一个基于爬虫的模块 作用: 可以使用代码 模拟浏览器发起请求。 request parse 使用流程: 指定url 针对指定的url 发起请求 获取服务器响应的数据 持久化存储 urllib python 中自带的一个基于爬虫的模块 作用: 可以使用代码 模拟浏览 阅读全文
posted @ 2019-04-26 12:33 rookiehbboy 阅读(120) 评论(0) 推荐(0)
anaconda使用方法
摘要:我是用的win10。想写爬虫,所以使用了 anaconda 。总结一下使用的方法。 安装阶段跳过。: 再终端输入 jupyter notebook 然后就会在。 浏览器显示一个网页。其实这个也不是网页, 他只是再输入 jupyter notebook 时。 当前文件的一个目录。在那里启动那里就是 启 阅读全文
posted @ 2019-04-25 17:24 rookiehbboy 阅读(1241) 评论(0) 推荐(0)
crm开发之用户重置密码
摘要:重置 密码这这功能。 我是没有在,stark组件中。 内置的。所以需要,自己进行定制。也就只是,在已有的增删改查的基础上,再增加一条url 和相对应的 视图函数。 好的是, 我已经预留了,增加的接口: 在展示的页面上。 新增一个 重置密码的按钮。 写个函数就好了。display_reset_pwd( 阅读全文
posted @ 2019-04-22 15:13 rookiehbboy 阅读(503) 评论(0) 推荐(0)
crm开发之用户ModelForm定制和密码加密
摘要:写了这么多的定制 功能。终于可以定制一下了!因为是 stark 和 rbac 两个组建。 一起使用。 所以在这里,再记录一下。需要注意的点: 先放出 目录结构: 先从 stark 开始。使用stark组件,其实就是对, 自己 的 web 业务中的。 表进行增删改查。 首先再 webapp 下面, 增 阅读全文
posted @ 2019-04-22 13:39 rookiehbboy 阅读(502) 评论(0) 推荐(0)
stark组件开发之组合搜索页面效果和 URL
摘要:页面效果,只是样式。这个好解决!yield 的时候。 返回几个样式出去就好了! 并且前端写上一些样式的css {% if search_group_row_list %} <div class="panel panel-default"> <div class="panel-heading"> <i 阅读全文
posted @ 2019-04-21 17:05 rookiehbboy 阅读(247) 评论(0) 推荐(0)
stark组件开发之组合搜索高级显示和扩展
摘要:上一篇,我只是做了。 默认的显示。 能看出的是, 我返回的这个 yield 只是需要一个, 文本的信息。 而且是在这里做了判断,类型。改进一下, 既然我只需要一个文本信息。 那么 这个工作, 应该交给 使用者,自己进行指定。比如 默认返回 <a href='#'>男</a> 我想加点东西,比如 <a 阅读全文
posted @ 2019-04-21 14:13 rookiehbboy 阅读(211) 评论(0) 推荐(0)
stark组件开发之组合搜索基本显示
摘要:数据的获取,上一篇,已经有了!然后就是,如何进行展示的问题。到了展示这里,又有了新的问题, 因为从数据库,取得的数据。 分为 queryset 和 tuple 两种数据结构。tuple 中,只是字符串。 queryset中确实,model对象。 而且 这些渲染出来后,全部都是 a 标签。 是可以点击 阅读全文
posted @ 2019-04-21 13:02 rookiehbboy 阅读(239) 评论(0) 推荐(0)
stark组件开发之组合搜索实现思路
摘要:- 关键字搜索。 可以做到的效果是, 输入20。 后太通过 Q() 函数。 来实现。 搜索是一个大的问题点。 - 要想实现组合搜索, 首先要 明确的一点是。 在我当前的页面上, 正在进行展示的是 那一张表的数据。- 并且, 既然是搜索, 那么必然的一点就是。 我的搜索条件, 必须是 和 我这张表中的 阅读全文
posted @ 2019-04-21 00:11 rookiehbboy 阅读(342) 评论(0) 推荐(0)
Django通过字段获取关联模型
摘要:model._meta.get_field(字段名称)可以获取这个模型关于字段的对象用type()对类型进行检验,发现 多对多 和 一对多 类型 实际上一对多和多对多都是related.RelatedField类型接下在可以使用上边获得的字段对象(如果是一对多或者多对多的话),可以通过obj.rel 阅读全文
posted @ 2019-04-21 00:10 rookiehbboy 阅读(1221) 评论(0) 推荐(1)
stark组件开发之批量操作
摘要:class StartHandler(object): ........ def action_multi_delete(self, request, *args, **kwargs): '''批量删除( 如果想要定制,执行成功后的返回值,那么就为这个函数,设置返回值就可以)''' self.mod 阅读全文
posted @ 2019-04-20 22:01 rookiehbboy 阅读(208) 评论(0) 推荐(0)
stark组件开发之关键搜索
摘要:- 模糊搜索: 在页面生成一个表单。 以get 方式, 将数据提交到。当前查看页面。 后台接收数据,然后进行筛选过滤。 着个也需要,用户自定制! 定义一个 search_list 这个值,默认为空。 页面进行判断,为空就不显示。 搜索框!如果,用户 定义了这个列表, 那么就显示! 子类中, 由用户自 阅读全文
posted @ 2019-04-20 19:47 rookiehbboy 阅读(233) 评论(0) 推荐(0)
stark组件开发之排序
摘要:也可以在,自己的类中指定。 排序的方式。 阅读全文
posted @ 2019-04-20 18:21 rookiehbboy 阅读(190) 评论(0) 推荐(0)
stark组件开发之编辑功能实现
摘要:编辑功能。和添加一样! 唯一不同的就是, 需要编辑一个指定的 记录。这就需要,在列表页面, 渲染编辑的时候,添加一个 id 值: 上面基类中,在 list_dispaly 类表中, 添加了! StartHandler.display_edit, StartHandler.display_del 这是 阅读全文
posted @ 2019-04-20 16:45 rookiehbboy 阅读(177) 评论(0) 推荐(0)
stark组件开发之添加功能实现
摘要:添加功能,还是使用, form 组件来完成! 并且 完成添加之后,需要保留原搜索条件。 通过这个函数, 已经在。 展示页面, 为 添加按钮,指定了 URL。进入添加页面之后, 已经携带着, 展示页面的 GET 请求的信息。 进入了 添加页面。那么,添加完成之后。 跳转回, 展示页面的时候。 也需要将 阅读全文
posted @ 2019-04-20 15:38 rookiehbboy 阅读(249) 评论(0) 推荐(0)
stark组件开发之添加按钮显示和URL
摘要:添加: 需求: 根据用户的权限, 决定是否,有添加按钮。 通过配置进行定制,预留钩子进行权限的判断。 get_add_btn(self): # 可以进行重写。 权限的判断,或者,重写样式 pass 如果感觉,默认的样式不好看! 可以在, 子类中, 重写get_add_btn() 方法。 返回一个,自 阅读全文
posted @ 2019-04-20 01:54 rookiehbboy 阅读(243) 评论(0) 推荐(0)
stark组件开发之分页
摘要:视图: 模板: 效果: 阅读全文
posted @ 2019-04-19 21:48 rookiehbboy 阅读(191) 评论(0) 推荐(0)
stark组件开发之列表页面应用示例
摘要:已经解决的,自定义的扩展函数,功能。但是 不可能返回。 一个 固定的页面把! 应该是,点击那条 记录之后的编辑, 就会跳转到相应的,编辑页面。所以 这个标签的 <a href="/stark/app01/userinfo/change/1/">编辑</a> 他应该是这个样子! stark 是主路由中 阅读全文
posted @ 2019-04-19 19:56 rookiehbboy 阅读(194) 评论(0) 推荐(0)
stark组件开发之列表页面自定义函数扩展
摘要:对于展示页面, 可能需要显示一些。 数据库中,没有的字段。 比如, 删除按钮, 编辑按钮。 这个数据库,是没有的。 所以,可能就需要, 添加一个这个东西。 比如我在渲染的时候, 给他添加两个函数进去。 这个两函数就用来,编辑删除。 基类: 子类: 这样就可以,随意的。在页面展示,想要的内容。 函数和 阅读全文
posted @ 2019-04-19 16:40 rookiehbboy 阅读(225) 评论(0) 推荐(0)
stark组件开发之列表页面预留钩子方法。 可根据用户的不同,显示不同的列
摘要:要实现,这个方法。子类中 list_diplay 这个列表, 就不能够写死。他应该是 可以根据。用户的不同,返回不同的值。 所以 就需要一个函数, 可以进行判断当前用户是谁。 并且往这个列表中添加,他可以查看的东西。所以,我在 StartHandler 基类中。 定义了一个方法,就是用于返回。这个l 阅读全文
posted @ 2019-04-19 15:55 rookiehbboy 阅读(234) 评论(0) 推荐(0)
stark组件开发之列表页面定制列
摘要:先看一张页面展示的效果图: 看一看我的 model 表!是什么样子: 看一看数据库是什么样子: 看 页面展示图,有表头。 有数据。模型表中,每一个字段, 都指定了 verbose_name。 如何解决? row_list.append(getattr(row, key)) 一定要使用 getattr 阅读全文
posted @ 2019-04-19 14:32 rookiehbboy 阅读(231) 评论(0) 推荐(0)
stark组件开发之URL别名的设置
摘要:设置别名: 这里还有一个问题,就是 private 这个后缀。 因为这个是用户自己制定的。 可以看出 指定了后缀的,和没指定后缀的。 别名竟然是一样的。 所以还需要更改一下。代码逻辑。首先肯定需要的是,prev 这个参数。 必须要能在 StartHandler 这个里面能够接收到,才可以用于做判断。 阅读全文
posted @ 2019-04-19 13:10 rookiehbboy 阅读(320) 评论(0) 推荐(0)
stark组件开发之URL分发和默认Handler
摘要:为register 函数添加一个,prev参数,默认None ,用于可以让用户自己指定前缀。 拼接时,判断 prev 的值。 不为空的, 就需要拼接上前缀: def get_urls(self): partterns = [] for item in self._registry: model_cl 阅读全文
posted @ 2019-04-19 12:37 rookiehbboy 阅读(193) 评论(0) 推荐(0)
stark组件开发之提取公共视图函数
摘要:路由问题, 已经解决! 然后就是视图函数的问题了: 不想重复写的解决途径就是, python 类的继承了! 写一个基类, 基类定义 增删改查。 然后其他的,全部去继承他! from django.urls import path, re_path from django.http import Ht 阅读全文
posted @ 2019-04-18 23:11 rookiehbboy 阅读(227) 评论(0) 推荐(0)
stark组件开发之自动生成URL
摘要:app01\model.py from django.db import models # Create your models here. class Depart(models.Model): id = models.AutoField(primary_key=True) title = mod 阅读全文
posted @ 2019-04-18 22:32 rookiehbboy 阅读(297) 评论(0) 推荐(0)
stark组件前戏之项目启动前加载指定文件
摘要:1. django项目启动时, 自定制执行某个py文件 dajngo 启动时。会将所有 路由加载到内存中。 我的目的就是在 路由加载之前,执行某个py文件。 每个app中都有一个 apps.py 这样有一个小问题就是,回执行两次。 因为django 启动的时候。 会有两个线程启动。 一个是正常启动的 阅读全文
posted @ 2019-04-18 20:37 rookiehbboy 阅读(177) 评论(0) 推荐(0)
权限分配实现思路
摘要:先上一张,效果图。 OK开始做:用户信息 和 角色。很容易就能搞成。 只需要从数据库取出。 menu 和 role 两张表的全部数据, 再模板进行循环的渲染就行了。 拿到数据,前端直接渲染就好了! {% extends "layout.html" %} {% block css %} <style 阅读全文
posted @ 2019-04-18 00:34 rookiehbboy 阅读(3009) 评论(0) 推荐(0)
批量操作权限的页面展示
摘要:进行展示的时候, 肯定是通过formset 来完成这项工作。1. 获取项目中所有的,想要的权限。 比如保存在一个集合中。 set12. 获取数据库中,已经录入了的所有权限。 保存在另一个集合中。 set2 下面 就出现了三种情况:(这里还是需要通过name字段,来进行 判断。 两个集合) 情况一: 阅读全文
posted @ 2019-04-17 14:25 rookiehbboy 阅读(580) 评论(0) 推荐(0)
自动发现项目中的所有URL
摘要:我的rbac组件,是想用到任何一个,项目中的。 so 问题来了。 - 问题: 拿到一个项目。 怎样获取到,当前项目中, 所有的URL 以及 每个URL的别名name, 还有是有 namespace 命名空间。 - 实现思路: 1. 先要确定我们 根级 路由在哪里。 就是和项目文件同名的包中, 的 u 阅读全文
posted @ 2019-04-16 22:25 rookiehbboy 阅读(681) 评论(0) 推荐(0)
rbac 权限分配, 基于formset实现,批量编辑
摘要:已经完成了 批量添加的功能。 还想要一个批量修改的功能了。随之而来的第一个问题就是, 我们的formset 并不是一条记录。而是 多条记录,甚至整个表的记录。那么显而易见的问题就是,当前端页面把数据,返回给服务端的时候。 我怎么就知道,这条数据,是对应的数据库的那一条记录呢?毕竟 不管是 title 阅读全文
posted @ 2019-04-16 18:49 rookiehbboy 阅读(246) 评论(0) 推荐(0)
rbac 权限分配, 基于formset实现,批量增加
摘要:这里需要两个知识点: - formset - 自动发现项目中的URL1. 什么是formset: Django中 form组件 或 ModelForm组件,用于做一个表单的验证。 接收前端form表单中的数据,并进行验证。 并且还可以用于表单的渲染工作。 (就是直接循环form对象,每一个字段都会被 阅读全文
posted @ 2019-04-16 16:36 rookiehbboy 阅读(319) 评论(0) 推荐(0)
权限分配之权限的展示
摘要:最后就是权限的展示了:对前面的 总结: 1. 一级菜单列表,是我对 menu表的,增删改查。 2. 二级菜单列表,是我对Permission表中, 可以作为二级菜单存在,如 客户列表、账单列表的 增删改查 3. 最后的权限展示,就是对Permission表中, 不能作为二级菜单, 但是他的pid字段 阅读全文
posted @ 2019-04-15 20:21 rookiehbboy 阅读(656) 评论(0) 推荐(0)
一级菜单添加页面, 图标的一些处理。
摘要:最初时, 图标需要输入 一个字符串。 但是难免会出错。所以, 使用一个 redio 单选框, 来做这件事。先看 form组件: 为 icon 字段, 选择的是 RadioSelect 进行渲染。 choices参数接收一个列表套嵌列表的结构。 其中 每个列表的第一个参数 是真实要保存到数据库的 值。 阅读全文
posted @ 2019-04-15 18:20 rookiehbboy 阅读(591) 评论(0) 推荐(0)
权限分配之二级菜单增删改查
摘要:先来看一看我的,数据库的表:权限表:Permission 一级菜单表: Menu 再看看,二级菜单的, 页面效果图: 分析一波: 1. 二级菜单是建立在一级菜单的基础上,进行展示。 这就又使用到,如何保留原搜索信息的方法, 关于携带参数的问题? 2. 然后 二级菜单不需要单独的, 展示页面, 与 一 阅读全文
posted @ 2019-04-15 18:11 rookiehbboy 阅读(1072) 评论(0) 推荐(0)
权限分配之一级菜单优化添加和编辑页面图标
摘要:这里就好说了。 使用的还是 forms 组件。 将图标的input框, 搞成了 redio 单选框。直接看代码: 为icon字段,的展示。 搞成一个RadioSelect() choices 属性就是所有的要展示的图标。 每个列表都是一个图标, 第一个参数是,要保存到数据库中的icon字段的值。 第 阅读全文
posted @ 2019-04-15 14:59 rookiehbboy 阅读(592) 评论(0) 推荐(0)
权限分配之一级菜单保留原搜索条件
摘要:如何一直携带 当前GET请求中, ?mid=1&age=2&name=alex先看一看问题的产生:1.我的菜单列表页面,当我点击,某一个菜单选项时。会发送一个GET请求,并且将当前这个菜单的 id 发送到服务端。服务端进行页面渲染时, 会为这个菜单添加一个,calss="active":看代码: < 阅读全文
posted @ 2019-04-15 14:12 rookiehbboy 阅读(277) 评论(0) 推荐(0)
django分页的东西, 不详细, 但是也足够了。
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="wi 阅读全文
posted @ 2019-04-14 15:45 rookiehbboy 阅读(371) 评论(0) 推荐(0)
rbac集成 权限分配。之用户管理
摘要:流程都是一样的。就不在详细的记录。只写一点需要注意的地方! 或者 可以改进的地方!1. 用户表中 只有。 name password email 三个字段。 但是添加用户的页面,应该还要有确认密码的字段。 所以,在UserInfoModelForm(forms.ModelForm): 中需要自己添加 阅读全文
posted @ 2019-04-14 14:44 rookiehbboy 阅读(394) 评论(0) 推荐(0)
rbac集成 权限分配。之角色管理
摘要:权限分配功能拆分: a. 角色管理 b. 用户管理 c. 菜单和权限的管理 d. 批量的权限操作 e. 分配权限 先实现 角色管理: 无非也就是,增删改查: 定义路由, 编写视图。 1.查看角色页面:role_list.html 主路由分发器,先进行分发。 就以 rbac 为开头的作为我们的,后台权 阅读全文
posted @ 2019-04-14 11:26 rookiehbboy 阅读(519) 评论(0) 推荐(0)
rbac之 权限粒度控制到按钮级别
摘要:rbac之 权限粒度控制到按钮级别: 这里的意思就是 如果当前用户,没有这个权限。 那么这个相对应的这个按钮的权限, 就不应该展示。看都不能给看到。 思路: 为每一个权限,设置一个别名。 这里是这的别名。 要与 路由控制器中的,每条路径的 别名保持一直 模板中每一个按钮标签的位置,进行 if 判断。 阅读全文
posted @ 2019-04-13 23:50 rookiehbboy 阅读(3903) 评论(3) 推荐(0)
动态菜单 之 路径导航
摘要:我想要的是, 这里的显示内容,可以随着。 我点击的不同而展示 不同的东西。 思路: 1. 登录的时候, 在session中保存下。 当前用户所有的权限url 和 每一条url 的 所属那一条url。 2. 在request 对象中, 保存上。url的浏览记录。(就是 用户当前访问的url 和 他所属 阅读全文
posted @ 2019-04-13 20:40 rookiehbboy 阅读(624) 评论(0) 推荐(0)
动态菜单之 点击非菜单权限, 默认选中子菜单,与展开
摘要:这是一个添加用户的,界面。 这个功能不是一个菜单选项。 他在 用户管理-->客户列表 页面中的一个功能。但是当我点击的时候, 左侧的信息,全部收缩起来了。 我觉得应该时要展开这个一级标签,并且还要有 选中 客户列表的这样一个提示。so 又有了我问题, 想想解决办法: 思路是这样子的: - 登录,做权 阅读全文
posted @ 2019-04-13 17:35 rookiehbboy 阅读(588) 评论(0) 推荐(0)
二级动态菜单的功能
摘要:二级动态菜单的实现, 我们可能需要一个 下方展示的这样的一种数据结构: OK 如何实现:1. 数据库中 我们新添加一张表吧。 就叫 Menu 表。 一级菜单表: 我们通过 一级菜单表, 来确定我们的 一级菜单应该有的样子 class Menu(models.Model): mid = models. 阅读全文
posted @ 2019-04-13 16:42 rookiehbboy 阅读(1224) 评论(1) 推荐(0)
一级动态菜单的功能
摘要:动态菜单 一级菜单的实现: 1.先解释一下权限: 首先我们要知道,我们是根据权限,来决定当前这个用户可以做什么样的操作。那么问题来了, 我要如何在 页面上展示, 不同的用户访问时, 他有哪些可以操作的按钮。 比如: CEO来的时候,他可以做任何事情。那么我就需要把所有的 按钮给他展示出来。 可以添加 阅读全文
posted @ 2019-04-12 17:28 rookiehbboy 阅读(1070) 评论(0) 推荐(0)
RBAC 继完善代码之后的,再一次完善
摘要:在上一篇文章中,我的中间件是 保存在我的web 业务app 中的。但是rbac我想要完成的是一个 组件的功能, 所以这个验证的 中间件, 何不放到rbac的app之中: 为了太乱先放一个项目的目录图片: 不要忘记我们的目的: 做一个 可以灵活使用的rbac 权限组件:先看看setting中的配置: 阅读全文
posted @ 2019-04-12 15:43 rookiehbboy 阅读(259) 评论(0) 推荐(0)
基于RBAC权限验证, 中间价middleware实现, views 登录视图代码
摘要:废话不多说 上代码: 基础实现: rom django.shortcuts import HttpResponse, redirect, render from django.http import FileResponse, JsonResponse from rbac.models import 阅读全文
posted @ 2019-04-12 14:27 rookiehbboy 阅读(404) 评论(0) 推荐(0)
rbac 表结构的。设计
摘要:1. 问:为什么程序需要权限控制? 答:生活中的权限限制,① 看灾难片电影《2012》中富人和权贵有权登上诺亚方舟,穷苦老百姓只有等着灾难的来临;② 屌丝们,有没有想过为什么那些长得漂亮身材好的姑娘在你身边不存在呢?因为有钱人和漂亮姑娘都是珍贵稀有的,稀有的人在一起玩耍和解锁各种姿势。而你,无权拥有 阅读全文
posted @ 2019-04-12 14:06 rookiehbboy 阅读(3166) 评论(0) 推荐(0)
Django模板如何用一个变量查找字典值
摘要:mydict = {"key1":"value1", "key2":"value2"} 在Django模板中查找字典值的常规方法是{{mydict.key1}},{{mydict.key2}}。如果键是循环变量怎么办?即: {% for item in list %} # list中元素,都有一个N 阅读全文
posted @ 2019-04-12 11:31 rookiehbboy 阅读(2518) 评论(0) 推荐(0)