- 博客(48)
- 收藏
- 关注
原创 drf验证
drf验证: 1、在settings中配置:REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', 'rest_framework.authentication.SessionAuth...
2018-08-17 01:06:07
827
原创 django rest framework
先安装djangorestframework: pip install djangorestframework建立模型:models.pyfrom django.db import models# Create your models here.class Grade(models.Model): name = models.CharField(max...
2018-08-11 01:20:42
536
原创 评论
1、创建一个评论的app, comment python manage.py startapp comment2、创建数据模型,在models.py中: class Comment(models.Model): name = models.CharField(max_length=20, verbose_name='姓名') email ...
2018-08-05 01:06:29
342
1
原创 博客的最新文章、归档、分类
因为这些模块都是动态变化的,使用Django的自定义模板标签实现页面侧边栏。 在app下新建一个templatetags目录(目录里必须要有__init__.py文件),新建一个py文件(blog_tags.py)用来写自定义的标签,定义一套标签,只要在前端调用这些标签就可以实现相应的功能。最新文章: 在blog_tags.py文件中的开头要写: f...
2018-08-04 19:42:29
961
原创 管理器
默认管理器:例 Book.objects.filter(name='朝花夕拾')自定义管理器:books = models.Manager()Book.books.filter(name='朝花夕拾')自定义管理增加额外的方法:class BookManager(models.Manager) def get_normal_word(self): ...
2018-08-04 11:03:38
271
原创 models
models 定义属性 概述 django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列属性命名限制 ...
2018-08-04 11:00:57
346
原创 django admin后台系统
Django中默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台。管理界面通常是给系统管理员使用的,用来完成数据的输入,删除,查询等工作。使用以下models来示范admin后台系统的用法。 from django.db import models class Publisher(models.Model): name = model...
2018-08-03 15:46:51
753
原创 模板
在Django框架中,模板是可以帮助开发者快速生成呈现给用户页面的工具模板的设计方式实现了我们MVT中VT的解耦,VT有着N:M的关系,一个V可以调用任意T,一个T可以供任意V使用模板处理分为两个过程 加载 渲染模板主要有两个部分 HTML静态代码 动态插入的代码段(挖坑,填坑)模板中的动态代码段除了做基本的静态填充,还可以实现一些基本的运算,转换和逻辑...
2018-08-03 11:04:45
222
原创 email backend
因为 Django auth 应用内置只支持用户名和密码的认证方式,所以目前用户是无法使用 Email 进行登录的。为了实现邮箱登录,我们需要编写一个认证后台。这个后台的作用便是验证用户提供的凭据(这里是邮箱以及密码)是合法的。完全仿照内置的 ModelBackend 代码即可。 首先在 users 应用下新建一个 backends.py 文件,然后写入如下代码:users/...
2018-08-02 21:06:42
1037
原创 修改密码
修改密码入口 <li class="cl-effect-11"><a href="{% url 'logout' %}" data-hover="退出">退出</a></li>{# <li class="cl-effect-11"&a
2018-08-02 19:55:31
7701
原创 修改用户信息
request.user 拿到已登陆的用户实例instance = user 拿到用户以及数据 前端页面:点击修改密码页面: <li class="cl-effect-11"><a href="{% url 'logout' %}" data-hover="退出">退出</a></li> <
2018-08-02 17:49:19
3027
原创 Next向上一页面跳转
对于一个网站来说,比较好的用户体验是登录、注册和注销后跳转回用户之前访问的页面。在登录和注销的视图函数中,Django 已经为我们处理了跳转回用户之前访问页面的流程。其实现的原理是,在登录和注销的流程中,始终传递一个 next 参数记录用户之前访问页面的 URL。我们需要做的就是在用户访问登录或者注销的页面时,在 URL 中传递一个 next 参数给视图函数,具体做法如下:<...
2018-08-02 14:57:57
1392
原创 重置密码
发送邮件设置Django 内置了非常方便的发送邮件的功能,不过需要在 settings.py 中做一些简单配置。生产环境下通常需要使用真实的邮件发送服务器,配置步骤会比较多一点。不过 Django 为开发环境下发送邮件提供了一些方便的 Backends 来模拟真实邮件的发送,例如直接发送邮件到终端。在 settings.py 中加入以下设置: EMAIL_BACKEND = ...
2018-08-02 11:52:08
1810
原创 登陆
Django 已经为我们写好了登录功能的全部代码。我们不必像之前处理注册流程那样费劲了。只需几分钟的简单配置,就可为用户提供登录功能。引入内置的 URL 模型 Django 内置的登录、修改密码、找回密码等视图函数对应的 URL 模式位于django.contrib.auth.urls.py 中。首先在工程的 urls.py 文件里包含这些 URL 模式。 url(r...
2018-08-01 23:41:07
443
原创 注册
用户注册就是创建用户对象,将用户的个人信息保存到数据库里。编写用户注册表单 Django 用户系统内置了登录、修改密码、找回密码等视图但是唯独用户注册的视图函数没有提供,这一部分需要我们自己来写。Django 已经内置了一个用户注册表单:django.contrib.auth.forms.UserCreationForm,不过这个表单的一个小问题是它关联的是 django 内...
2018-08-01 15:13:31
293
原创 拓展User模型
Django 用户认证系统提供了一个内置的 User 对象,用于记录用户的用户名,密码等个人信息。对于 Django 内置的 User 模型, 仅包含以下一些主要的属性: username,即用户名 password,密码 email,邮箱 first_name,名 last_name,姓 对于一些网站来说,用户可能还包含有昵称、头像、个性...
2018-08-01 10:50:29
478
原创 Django Haystack 全文检索与关键词高亮
我们已经实现的搜索功能实在过于简单,没有多大的实用性。对于一个搜索引擎来说,至少应该能够根据用户的搜索关键词对搜索结果进行排序以及高亮关键字。Django Haystack 简介 django-haystack 是一个专门提供搜索功能的 django 第三方应用,它支持 Solr、Elasticsearch、Whoosh、Xapian 等多种搜索引擎配合著名的中文自然语言处理库...
2018-07-31 15:26:09
2533
1
原创 RSS 订阅
博客提供 RSS 订阅应该是标配。这样读者就可以通过一些聚合阅读工具来订阅你的博客,时时查看是否有更新,而不必每次都跳转到博客上来查看。RSS 简介 RSS(Really Simple Syndication)是一种描述和同步网站内容的格式。,它采用 XML 作为内容传递的格式。简单来说就是网站可以把内容包装成符合 RSS 标准的 XML 格式文档。一旦网站内容符...
2018-07-30 23:22:43
4229
原创 解决mysql无法使用月份过滤问题
在windows中:下载mysql时区文件:https://dev.mysql.com/downloads/timezones.html下载timezone_2018e_posix.zip压宿包,解压后将里面的文件粘贴到 C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql中重启mysql即可 在mysql中设置时区: ...
2018-07-29 23:46:35
511
原创 Django普通视图函数与通用类视图比较
url:普通视图函数: from .views import index urlpatterns = [ url(r'^index/$', index, name='index'),]通用类视图: from .views import ClassListView urlpatterns = [ url(r'^index/$', ClassList...
2018-07-27 15:25:12
1045
原创 中间键request、response、exception的运行流程及原理
在middleware.py中定义中间键:from django.http import HttpResponsefrom django.utils.deprecation import MiddlewareMixinclass MyMiddlewareMixin(object): def __init__(self, get_response=None): ...
2018-07-26 21:49:48
1787
原创 使用django-crispy-form美化form表单
django-crispy-form的具体使用参照https://django-crispy-forms.readthedocs.io/en/latest/install.html#installing-django-crispy-forms1、首先下载django-crispy-form包 使用 pip install django-crispy-form2、具体配置 ...
2018-07-24 18:58:45
4771
原创 form表单和modelform
1、Form表单 引言:请看下面的例子。 有这么一个form表单: <form action="" method="post"> 主机:<input type="text" name="host"/> <br/> 端口:<i
2018-07-23 19:39:35
3147
原创 Django--django的form表单
定义一个django form表单: 1)先定义form类,在forms.py中:from django import formsfrom django.forms import ValidationErrorimport re"""label='主机', 标签名label_suffix='名:', 标签后缀名initial='127.0.0.1' 初始值error_m...
2018-07-23 17:09:35
490
1
原创 爬虫(21):广度爬取策略
import reimport requestsheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}"""<a class="title-...
2018-07-05 00:23:58
407
原创 爬虫(20):深度爬取策略(2)
import reimport requestsheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}"""<a class="title-...
2018-07-05 00:23:13
655
原创 爬虫(19):深度抓取策略(1)
import requestsimport reheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}"""<a class="title-...
2018-07-05 00:22:17
990
原创 爬虫(18):requests登陆
import requests# 用session保存cookiesession = requests.session()'''url, data'''loginurl = "http://www.renren.com/PLogin.do"headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x...
2018-07-05 00:21:26
471
原创 爬虫(17):requests的post请求
import requestsimport jsonheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}def youdaoAPI(kw): ...
2018-07-05 00:20:41
1817
原创 爬虫(16):requests带参的get请求
import requestsheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}def baiduAPI(wd): url = 'htt...
2018-07-05 00:19:28
1076
原创 爬虫(15):requests
import requestsheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}"""url,params=None, # get请求传递参数...
2018-07-05 00:18:08
176
原创 爬虫(14):使用IP代理
import urllibfrom urllib import requestimport random# 本地ip代理# proxy = {'http': '169.154.131.127:808'} #无密码"""其他IP代理:proxy = {'http':'121.42.167.160:3128'}"""# proxy = {'协议类型':'用户:密码@代理Ip:p...
2018-07-05 00:17:08
665
原创 爬虫(13):通过登陆后的cookie登陆
import urllibfrom urllib import request, parsefrom http import cookiejar# 通过登陆后的cookie登陆headers = { 'Cookie': 'kd_user_id=2f5e9d6e-b201-4169-9533-0577e4c7854f; uuid_tt_dd=10_19001791280-15244...
2018-07-05 00:16:15
468
原创 爬虫(12):通过抓取登陆前令牌认证登陆
import urllibfrom urllib import request, parsefrom http import cookiejarcookieF = 'cookie1.txt'cookie = cookiejar.LWPCookieJar()cookie_handler = urllib.request.HTTPCookieProcessor(cookie)open...
2018-07-05 00:14:24
1095
原创 爬虫(11):使用cookie登陆人人
import urllibfrom urllib import request, parsefrom http import cookiejar# 创建cookie对象cookie = cookiejar.CookieJar()# 处理器,提取cookiecookie_handler = urllib.request.HTTPCookieProcessor(cookie)# 打...
2018-07-04 11:56:45
418
原创 爬虫(10):Cookie
Cookie 是指某些网站服务器为了辨别用户身份和进行Session跟踪,而储存在用户浏览器上的文本文件,Cookie可以保持登录信息到用户下次与服务器的会话。Cookie原理HTTP是无状态的面向连接的协议, 为了保持连接状态, 引入了Cookie机制 Cookie是http消息头中的一种属性,包括: Cookie名字(Name) Cookie的值(Value) Cookie的...
2018-07-03 17:26:23
311
原创 爬虫(8):Handler处理器 和 自定义Opener
Handler处理器 和 自定义Openeropener是 urllib2.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:1、使用相关的Handler处理器来创建特定功能的处理器对象;2、然后通过ur...
2018-07-03 17:16:07
177
原创 爬虫(9):使用处理器Handler
response = urllib.request.urlopen(req)urlopen缺点:不能添加IP池(不能使用代理IP);不能使用cookie所以要重写urlopen,自定义处理器HTTPSHandler: import urllib.request# 处理器(处理https,也能处理http协议)handler = urllib.request.HTTPSHandler()...
2018-07-03 16:50:50
425
原创 爬虫(7):忽略安全证书爬取12306数据
import urllibfrom urllib import requestimport sslcontext = ssl._create_unverified_context() # 忽略安全证书headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (...
2018-07-03 16:05:24
999
原创 爬虫(6):爬取岗位数量
import reimport urllib.requestimport urllib.parse# urllib2.urlopen('https://www.baidu.com/s?wd=千锋')headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (K...
2018-07-03 16:03:26
492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅