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