摘要:
1 from fake_useragent import UserAgent 2 3 class RandomUserAgent(object): 4 # def __init__(self,crawl): 5 # super(RandomUserAgent,self).__init__() 6 # 阅读全文
posted @ 2017-06-10 17:13
hcw_19
阅读(653)
评论(0)
推荐(0)
摘要:
布署 从uwsgi、nginx、静态文件三个方面处理 服务器介绍 服务器:私有服务器、公有服务器 私有服务器:公司自己购买、自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环境,销售空间或主机,供其布署自己的应用 私有服务器成本高,需要专业人员维护,适合大公司使用 公有服务 阅读全文
posted @ 2017-06-10 14:58
hcw_19
阅读(271)
评论(0)
推荐(0)
摘要:
中间件 是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出 激活:添加到Django配置文件中的MIDDLEWARE_CLASSES元组中 每个中间件组件是一个独立的Python类,可以定义下面方法中的一个或多个 _init _:无需任何参数,服务器 阅读全文
posted @ 2017-06-10 14:51
hcw_19
阅读(190)
评论(0)
推荐(0)
摘要:
使用Ajax 使用视图通过上下文向模板中传递数据,需要先加载完成模板的静态页面,再执行模型代码,生成最张的html,返回给浏览器,这个过程将页面与数据集成到了一起,扩展性差 改进方案:通过ajax的方式获取数据,通过dom操作将数据呈现到界面上 推荐使用框架的ajax相关方法,不要使用XMLHttp 阅读全文
posted @ 2017-06-10 14:49
hcw_19
阅读(210)
评论(0)
推荐(0)
摘要:
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数 属性 count:对象总数 num_pages:页面总数 page_range:页码 阅读全文
posted @ 2017-06-10 14:46
hcw_19
阅读(296)
评论(0)
推荐(0)
摘要:
Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用户名、邮箱、密码 2.在应用内admin.py文件完成注册,就可以在后台管理中维护模型的数据 fro 阅读全文
posted @ 2017-06-10 14:44
hcw_19
阅读(434)
评论(0)
推荐(0)
摘要:
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" />中的name 注意:FILES只有在请求的方法为POST 且提交的<form>带有enctype="multipart/form- 阅读全文
posted @ 2017-06-10 14:43
hcw_19
阅读(218)
评论(0)
推荐(0)
摘要:
管理静态文件 项目中的CSS、图片、js都是静态文件 配置静态文件 在settings 文件中定义静态内容 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] 在项目根目录下创建static 阅读全文
posted @ 2017-06-10 14:42
hcw_19
阅读(198)
评论(0)
推荐(0)
摘要:
验证码 在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力 使用验证码也是一种有效的防止crsf的方法 验证码效果如下图: 验证码视图 新建viewsUtil.py,定义函数verifycode 此段代码用到了PIL中的Image、 阅读全文
posted @ 2017-06-10 14:36
hcw_19
阅读(332)
评论(0)
推荐(0)
摘要:
csrf 全称Cross Site Request Forgery,跨站请求伪造 某些恶意网站上包含链接、表单按钮或者JavaScript,它们会利用登录过的用户在浏览器中的认证信息试图在你的网站上完成某些操作,这就是跨站攻击 演示csrf如下 创建视图csrf1用于展示表单,csrf2用于接收po 阅读全文
posted @ 2017-06-10 14:34
hcw_19
阅读(210)
评论(0)
推荐(0)
摘要:
HTML转义 Django对字符串进行自动HTML转义,如在模板中输出如下值: 视图代码: def index(request): return render(request, 'temtest/index2.html', { 't1': '<h1>hello</h1>' }) 模板代码: {{t1 阅读全文
posted @ 2017-06-10 14:29
hcw_19
阅读(1597)
评论(0)
推荐(0)
摘要:
模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填充 extends继承:继承,写在模板文件的第一行 定义父模板base.html 定义子模板inde 阅读全文
posted @ 2017-06-10 14:27
hcw_19
阅读(274)
评论(0)
推荐(0)
摘要:
定义模板 模板语言包括 变量 标签 { % 代码块 % } 过滤器 注释{# 代码或html #} 变量 标签 { % 代码块 % } 过滤器 注释{# 代码或html #} 变量 语法: 当模版引擎遇到一个变量,将计算这个变量,然后将结果输出 变量名必须由字母、数字、下划线(不能以下划线开头)和点 阅读全文
posted @ 2017-06-10 14:24
hcw_19
阅读(196)
评论(0)
推荐(0)
摘要:
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用 模板包含 HTML的静态部分 动态插入内容部分 阅读全文
posted @ 2017-06-10 14:22
hcw_19
阅读(188)
评论(0)
推荐(0)
摘要:
状态保持 http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括cookie、session,会话一般指session对象 使用cookie,所有数据存储在客户端,注 阅读全文
posted @ 2017-06-10 14:20
hcw_19
阅读(1170)
评论(0)
推荐(0)
摘要:
HttpResponse对象 在django.http模块中定义了HttpResponse对象的API HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建 不调用模板,直接返回数据 #coding=utf-8 from django.http import H 阅读全文
posted @ 2017-06-10 14:18
hcw_19
阅读(13326)
评论(0)
推荐(1)
摘要:
POST属性 QueryDict类型的对象 包含post请求方式的所有参数 与form表单中的控件对应 问:表单中哪些控件会被提交? 答:控件要有name属性,则name属性的值为键,value属性的值为键,构成键值对提交 对于checkbox控件,name属性一样为一组,当控件被选中后会被提交,存 阅读全文
posted @ 2017-06-10 14:16
hcw_19
阅读(778)
评论(0)
推荐(0)
摘要:
GET属性 QueryDict类型的对象 包含get请求方式的所有参数 与url请求地址中的参数对应,位于?后面 参数的格式是键值对,如key1=value1 多个参数之间,使用&连接,如key1=value1&key2=value2 键是开发人员定下来的,值是可变的 示例如下 创建视图getTes 阅读全文
posted @ 2017-06-10 14:14
hcw_19
阅读(869)
评论(0)
推荐(0)
摘要:
QueryDict对象 定义在django.http.QueryDict request对象的属性GET、POST都是QueryDict类型的对象 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get():根据键获取值 只能获取键的一个值 如果一个键同时拥 阅读全文
posted @ 2017-06-10 14:13
hcw_19
阅读(2369)
评论(0)
推荐(2)
摘要:
HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了HttpRequest对象的API 属性 下面除非特别说明,属性都是只读的 path:一个字符串,表示请求的页 阅读全文
posted @ 2017-06-10 14:12
hcw_19
阅读(296)
评论(0)
推荐(0)
摘要:
定义视图 本质就是一个函数 视图的参数 一个HttpRequest实例 通过正则表达式组获取的位置参数 通过正则表达式组获得的关键字参数 在应用目录下默认有views.py文件,一般视图都定义在这个文件中 如果处理功能过多,可以将函数定义到不同的py文件中 新建views1.py #coding:u 阅读全文
posted @ 2017-06-10 14:10
hcw_19
阅读(235)
评论(0)
推荐(0)
摘要:
URLconf 在settings.py文件中通过ROOT_URLCONF指定根级url的配置 urlpatterns是一个url()实例的列表 一个url()对象包括: 正则表达式 视图函数 名称name 编写URLconf的注意: 若要从url中捕获一个值,需要在它周围设置一对圆括号 不需要添加 阅读全文
posted @ 2017-06-10 14:09
hcw_19
阅读(3020)
评论(0)
推荐(0)
摘要:
视图 视图接受Web请求并且返回Web响应 视图就是一个python函数,被定义在views.py中 响应可以是一张网页的HTML内容,一个重定向,一个404错误等等 响应处理过程如下图: 阅读全文
posted @ 2017-06-10 14:07
hcw_19
阅读(199)
评论(0)
推荐(0)
摘要:
自连接 对于地区信息,属于一对多关系,使用一张表,存储所有的信息 类似的表结构还应用于分类信息,可以实现无限级分类 新建模型AreaInfo,生成迁移 class AreaInfo(models.Model): atitle = models.CharField(max_length=20) aPa 阅读全文
posted @ 2017-06-10 14:05
hcw_19
阅读(595)
评论(0)
推荐(0)
摘要:
查询集表示从数据库中获取的对象集合 查询集可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询集和select语句等价,过滤器像where和limit子句 接下来主要讨论如下知识点 查询集 字段查询:比较运算符,F对象,Q对象 查询集 字段查询:比较运算符,F对象 阅读全文
posted @ 2017-06-10 14:03
hcw_19
阅读(763)
评论(0)
推荐(0)
摘要:
定义模型 在模型中定义属性,会生成表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不 阅读全文
posted @ 2017-06-10 14:01
hcw_19
阅读(224)
评论(0)
推荐(0)
摘要:
ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称,主要任务是: 根据对象的类型生成表结构 将对象、列表的操作,转换为sql语句 将sql查询到的结果 阅读全文
posted @ 2017-06-10 13:58
hcw_19
阅读(309)
评论(0)
推荐(0)
摘要:
MVT Django是一款python的web开发框架 与MVC有所不同,属于MVT框架 m表示model,负责与数据库交互 v表示view,是核心,负责接收请求、获取数据、返回结果 t表示template,负责呈现内容到浏览器 MVC 大部分开发语言中都有MVC框架 MVC框架的核心思想是:解耦 阅读全文
posted @ 2017-06-10 13:54
hcw_19
阅读(1481)
评论(0)
推荐(0)
摘要:
items.py 1 import scrapy 2 class LagouItem(scrapy.Item): 3 # define the fields for your item here like: 4 # name = scrapy.Field() 5 #id 6 # obj_id=scr 阅读全文
posted @ 2017-06-10 12:04
hcw_19
阅读(354)
评论(0)
推荐(0)

浙公网安备 33010602011771号