Fork me on GitHub

05 2019 档案

摘要:一、环境搭建 由于条件有限,一台虚拟机,一台笔记本。 在虚拟机上装上mongodb数据库、redis数据库、redis_scrapy、pymongo、scrapyd 在本地电脑上装上monodb数据库、redis数据库、redis_scrapy、pymongo、scrapyd-clientl、scr 阅读全文
posted @ 2019-05-30 18:17 iveBoy 阅读(3895) 评论(0) 推荐(0) 编辑
摘要:利用selenium以及pyquery,爬取当当网图书信息,并且将数据存入文件以及MongoDB数据库中。 配置文件: dangdang.py 存入到文件中的数据: 存入到MongoDB中: 阅读全文
posted @ 2019-05-27 11:47 iveBoy 阅读(257) 评论(0) 推荐(0) 编辑
摘要:通过爬取猫眼电影top100,利用正则表达式进行实现,注意在匹配过程中,将需要匹配的内容的开始和结束用关键标志进行区分。 maoyan.py 爬取的内容: 阅读全文
posted @ 2019-05-27 11:35 iveBoy 阅读(482) 评论(0) 推荐(0) 编辑
摘要:删除页面没有太多的内容和功能 前端html 阅读全文
posted @ 2019-05-26 11:06 iveBoy 阅读(247) 评论(0) 推荐(0) 编辑
摘要:在模型model中用的都是时间字段DateTimeField字段,在后台处理中可以看到,在生成modelform过程中,继承的是BaseModelForm,而其对时间字段加入了特殊的date_time属性,这样通过前端的bootstrapdatetimepicker来进行时间的填充。 当然这种方式是 阅读全文
posted @ 2019-05-26 11:02 iveBoy 阅读(364) 评论(0) 推荐(0) 编辑
摘要:selenium主要解决浏览器中javascript渲染问题而存在的,有时我们爬取过来的网页内容与实际看到的内容是由差别的,这很有可能就是一些数据是由javascript渲染出来的,如何解决这个问题呢?这时可以引入selenium。 1、申明浏览器对象 2、访问页面 3、查找元素 (1)单个元素 另 阅读全文
posted @ 2019-05-25 11:43 iveBoy 阅读(336) 评论(0) 推荐(0) 编辑
摘要:正则表达式无论是在爬虫还是其它的应用中都是有一定作用的。 1、常见的匹配模式 2、re.match() re.match()方法会从字符的第一个位置匹配起。如果第一个位置匹配失败的话,就会返回none。 常规匹配 泛匹配 利用.*匹配多个字符 目标匹配 匹配字符串中的数字,正则表达式加上括号表示一个 阅读全文
posted @ 2019-05-24 22:21 iveBoy 阅读(498) 评论(0) 推荐(0) 编辑
摘要:首先就是MongoDB的下载,可以去MongoDB官网进行下载,https://www.mongodb.com/download-center/community,也可以通过百度网盘直接下载, 链接:https://pan.baidu.com/s/1hLpXYO67ugbBtrz2-fkBjw 提取 阅读全文
posted @ 2019-05-23 17:07 iveBoy 阅读(175) 评论(0) 推荐(0) 编辑
摘要:如何快速的进行数据的添加以及修改呢?modelform来实现是可以达到效果的,在这里就是应用了modelform,每一个表都不同,所以需要创建不同的modelform。 def get_model_form_class(self, is_add,request,pk, *args,**kwargs) 阅读全文
posted @ 2019-05-23 16:09 iveBoy 阅读(265) 评论(0) 推荐(0) 编辑
摘要:在这个组件中有内置的4个处理函数,它们都有自己对应的url,那么它们的url是怎么构造的呢? 可以看出来,都是根据url的name反向解析生成对应的url。先changelist_view这个函数为例进行说明。 在这里它的name就是命名空间+app名字+model名字+前缀+参数+changeli 阅读全文
posted @ 2019-05-23 13:27 iveBoy 阅读(216) 评论(0) 推荐(0) 编辑
摘要:之前主要介绍了前端页面list_fiter功能的显示,但是list_display功能的展示并没有过多介绍,这里介绍一下是如何实现的。 可以看到凡是蓝线圈起来的都是通过字段名反射一个个取出来的,红线的是通过函数来构造的,这也就说明,list_display中单是字段名是不够的,还需要加入一些数据库中 阅读全文
posted @ 2019-05-23 13:27 iveBoy 阅读(177) 评论(0) 推荐(0) 编辑
摘要:页面搭建包括第一如何获取前端传过来的数据,第二如何在前端渲染出对应标签。 一、后台获取数据并进行处理 在路由系统中,每一个路由都对应着一个处理函数,如下所示: 其中changelist_view()就是处理显示数据的函数,可以看到被装饰器包裹,其主要目的是为了在执行函数前,加入一些逻辑,列如将req 阅读全文
posted @ 2019-05-23 11:20 iveBoy 阅读(281) 评论(0) 推荐(0) 编辑
摘要:在文章stark组件前戏中已经提到过,django的注册功能是通过AdminSite的单例进行组册的,所以在这里也可以进行单例模式。 可以看到之前_registry是一个字典,现在变成了一个列表,为什么要这样做呢? (1)这是因为如果是字典的话,一个model只能注册一次,现在是model可以注册多 阅读全文
posted @ 2019-05-22 21:12 iveBoy 阅读(284) 评论(0) 推荐(0) 编辑
摘要:在script中有几种绑定事件的方法,有的在绑定函数中传入this参数,有的没有,那么,它们之间到底有什么区别呢? 阅读全文
posted @ 2019-05-22 08:52 iveBoy 阅读(14846) 评论(0) 推荐(0) 编辑
摘要:stark组件的设计主要来源于django中admin的功能,在django admin中只需要将模型表进行注册,就可以在页面对该表进行curd的动作,那么django admin是如何做的呢? 在django中有自动发现功能的函数,发现每一个admin模块 # ACTION_CHECKBOX_NA 阅读全文
posted @ 2019-05-21 22:55 iveBoy 阅读(337) 评论(0) 推荐(0) 编辑
摘要:一、项目背景 YW公司是一家电池供应商,目前由于公司内部的需要,需要做一个CRM项目,需要每一个不同角色的员工登陆系统后处理自己的事情。其流程大致如下: 其项目包括三部分内容: 1、权限分配组件(rbac组件) 2、各个表的curd功能组件(stark组件) 3、将业务与上述两个组件进行融入 二、各 阅读全文
posted @ 2019-05-21 22:49 iveBoy 阅读(783) 评论(0) 推荐(0) 编辑

TOP
点击右上角即可分享
微信分享提示