摘要: 最近我正写一个项目,项目的需求如下一,要爬取大约100种几百个网页的类容,并且这些网页的爬取频率不一样,有些一天爬取一次,有些一周爬取一次,二,网页爬取内容有变化,也就是说要爬取的内容会根据需求进行改变鉴于以上需求,但我们就一定的做成分步式,在多台服务器上运行,用scrapy框架的话就会几百个spi 阅读全文
posted @ 2018-05-01 17:07 outback123 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1、单一路由对应 url(r'^index/$', views.index), 这里要注意的是,/$ 表示只有只/结尾的才有效,如果把$符号去掉的话,只要是以index/开头都会匹配到这个url。 2、基于正则的路由 url(r'^index/(\d*)', views.index), url(r' 阅读全文
posted @ 2018-05-01 07:20 outback123 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 一、三种结构及应用场景 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneField(其他表) 应用场景: 一对多:当一张表中创建一行数据时,有一个单选的下拉框(可以被重复选择) 例如:创建用户 阅读全文
posted @ 2018-05-01 07:19 outback123 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 利用双下划线和 _set 将表之间的操作连接起来 一、数据表结构 from django.db import models class UserProfile(models.Model): user_info = models.OneToOneField('UserInfo',on_delete=N 阅读全文
posted @ 2018-05-01 07:19 outback123 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一、创建django程序 创建项目:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 生成创建数据表的文件:python manage.py makemigrations 注意,这一步只是生成创建数据库数据的文件,可以理解 阅读全文
posted @ 2018-05-01 07:18 outback123 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一、字段名 字段名 类型 参数 AutoField(Field) - int自增列, 必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列 必须填入参数 primary_key=True SmallIntegerField(Integ 阅读全文
posted @ 2018-05-01 07:18 outback123 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 一、基本增删改查操作 models.Tb1.objects.create(c1='xx', c2='oo') # 增加一条数据,可以接受字典类型数据 ** kwargs obj = models.Tb1(c1='xx', c2='oo') obj.save() #查 models.Tb1.objec 阅读全文
posted @ 2018-05-01 07:18 outback123 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 创建项目进入项目文件件后执行如下命令 django-admin startproject MxOnline 其中 MxOnline为项目名字 新建项目后的目录 其中: templates文件夹中存放html文件 manage.py 为我们启动django的命令所执行的文件 settings.py是全 阅读全文
posted @ 2018-05-01 07:17 outback123 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、增加搜索路径 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.join(BASE_DIR, "apps")) sys.path.insert(0, 阅读全文
posted @ 2018-05-01 07:17 outback123 阅读(137) 评论(0) 推荐(0) 编辑