自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (4)
  • 收藏
  • 关注

原创 Django框架(二十九:rest_framework 版本)

通过自定义手段来实现后台获取接口版本号,也可以使用drf内置的类实现。如果使用内置的类,直接在REST_FRAMEWORK配置中,配置成内置类即可。在utils包中新建version.py文件from rest_framework.versioning import BaseVersioningclass Version(BaseVersioning): # determine: ...

2018-12-06 21:36:13 265

原创 Django框架(二十九:rest_framework 节流)

自定义节流的方法 ,限制60s内只能访问3次from rest_framework.throttling import BaseThrottle, SimpleRateThrottleimport timeclass ThrottleAuth(BaseThrottle): # 声明一个字典,用于保存不同用户的访问时间。 visit_dict = {} def __in...

2018-12-06 20:59:04 214

原创 Django框架(二十八:rest_framework 权限)

Permissions: 权限,表示用户在认证成功(登录)的前提下,对一些接口是否拥有访问权限,有权限就可以访问,没有权限不能访问。(1)在自己建的utils包中新建两个类,继承与BasePermissionclass PTPermission(BasePermission): message = '对不起,你不是普通用户,无权访问!' def has_permission(s...

2018-12-06 20:41:21 217

转载 Django框架(二十七:rest_framework 模拟登陆)

较为简单,看代码和注释class AuthView(APIView): # 使用这个局部认证配置覆盖全局的认证配置。值为[],表示不进行认证。 authentication_classes = [] permission_classes = [] throttle_classes = [] """ 用户认证(登录)接口 """ d..

2018-12-06 20:19:11 200

原创 Django框架(二十六:rest framework 认证)

一,基础:1.1安装pip install djangorestframework二:基础知识首先必须要知道django-rest-framework源码中到处都是基于CBV和面向对象的封装其次是CBV:基于反射实现根据请求方式不同,执行不同的方法三:简单实例3.1 urls.pypath('auth/', AuthView.as_view()),3.2 settings.p...

2018-12-06 20:05:02 289

原创 Django框架(二十五:CBV的执行流程)

先在views.py中定义一个CBV视图,以供例子讲解再定义一个CBV的路由,如下图:会发现其中调用as_view()这个函数,在源码中可看到,它其实返回的是一个view对象,所以,当前端请求/student/这个路由的时候,并没有直接调用StudentView视图中相应的方法如get/post/put等,而是走到了as_view中,并返回view对象那么这个view又是什么呢,如...

2018-12-04 21:17:00 278

原创 Django框架(二十四:前后端分离之分页的设置和csrf认证的解决)

前后端分离开发和混合开发的区别还是很大的。前后端分离我们需要遵循restful规范,先介绍什么是restful api规范a.同一种数据的操作,只设置一个url路由。也就是根据请求方法来区分具体的处理逻辑。而不再设置多个增删改查的路由。 (1)可以基于FBV来通过请求方法的不同,处理不同的逻辑。 url(r'^order/', views.order), ...

2018-12-03 20:37:27 2422 1

原创 Django框架(二十三:Blog——自定义登录装饰器,登录后跳转到点击页面)

urls.py文件:from django.urls import path, re_pathfrom .views import *urlpatterns = [ re_path(r'^index/$', index, name='blog_index'), re_path(r'^register/$', register, name='user_register'),...

2018-11-27 21:39:24 641

原创 Django框架(二十二:实现分页功能的几种方式)

介绍三种实现分页功能的方式,前两种为简单的,后一种稍微复杂一些第一种方式:如图所示,能一次将所有页都能展示出来视图函数:from django.core.paginator import Paginator, PageNotAnInteger, InvalidPage, EmptyPagedef select(request): # 1. 把需要分页的数据全部查询出来; ...

2018-11-20 19:42:42 3787

翻译 Django框架(二十一:设置全局变量以供多个视图函数模板使用)

将所有共有的变量整理提取出来,然后返回一个字典def global_params(request): category_list = Category.objects.all() # 查询所有广告信息 ad_list = Ad.objects.all() archive_list = Article.objects.archive_date(article_l...

2018-11-19 20:25:44 3187

原创 Django框架(二十:富文本框的实现)

当我们添加的文本内容很多的时候,需要用到像下面这样的富文本框,那么怎么实现呢。首先,去富文本官方下载相关文档第二步:将压缩文件解压缩并导入到static文件夹下,并将箭头所指的文件删除第三步:建立下图的js文件配置文件内容KindEditor.ready(function(K){ window.editor = K.create('#id_content', { ...

2018-11-19 20:17:30 2124

原创 django框架(十八:实现文章归档的几种方式)

第一种:定义普通的函数查询所有的文章,并按照时间归档def index(request): article_list = Article.objects.all() archive_list = archive_article(article_list)def archive_article(article_list): archive_list = [] for ...

2018-11-19 19:34:48 1473

原创 Django框架(十七:session和cookie)

django中的cookie和session:用户在前端登录以后,此时django会在django_session这个表中,生成一个键值对:session_key和session_data;其中,session_key是用于在响应中通过Set-Cookie字段返回给浏览器,浏览器会将这个session_key(sessionid)的值存储到本地;等用户登录完以后,在访问其它页面的时候,浏览...

2018-11-08 20:36:11 186

原创 Django框架(十六:上传图片到自定义目录下)

如何将图片上传到自定义目录下upload_to: 在根目录下(MEDIA_ROOT)要生成的目录MEDIA_ROOT: 只要上传图片,肯定要设置,用于指定图片上传的根目录。可以设置在static下(static目录的搜索路径,已经通过STATICFILES_DIRS配置过了),也可以自定义根目录(MEDIA_URL)。在上一篇已经介绍了将图片上传到static目录下的设置,现在我们来实现将...

2018-11-08 20:05:52 778

原创 Django框架(十五:表单中图片的上传)

图片的上传,就是后台获取表单传过来的图片并保存。需要实现两部分,一部分是将图片的路径保存到数据库,另一部分是把图片文件上传到后台。下面来执行具体的操作:由于上传图片时默认保存在根目录下的,所以需在settings.py文件中配置图片上传的路径定义一个Model类,在Model中声明一个用于保存图片地址的字段,放在数据库的表中;(此处不再展示代码)在html文件中添加上传图片的表单。in...

2018-11-07 19:44:11 2330

原创 Django框架(十四:admin后台管理系统)

admin管理后台:是Django提供的一套用于管理用户和数据的web系统,通过它可以很方便的实现数据的增删改查功能,实现对用户的管理。简单实现admin的步骤:创建Model类,并同步至数据库from django.db import modelsclass Novel(models.Model): n_title = models.CharField(max_length...

2018-10-30 20:38:16 6277 1

原创 django框架(十三:orm的多对多操作)

什么是多对多?多对多:一个表中的一条数据对应另一个表中的多条数据;另外一个表中的一条数据对应着前一个表中的多条数据图例:以出版社和文章为例:怎么解决多对多的对应关系呢?不能使用之前的一对多时的外键了,我们可以通过第三张表来表示。如图:接下来在models.py文件中创建图例的两个表class Publiation(models.Model): ''' 出版社(主表...

2018-10-30 12:11:34 822

翻译 Django框架(十二:orm一对一的操作)

前面的博客已经对数据库的基础知识有了介绍,对数据库数据一对多的操作有了了解,现在来看看数据库的一对一操作,非常简单数据库中建立两张表,一个账户表,一个用户表。一个账户对应一个用户,即一对一关系,ORM数据库的一对一关系:一个表中的一条数据对应着另外一个表中的一条数据。在创建表的时候需要介绍几个参数:from django.db import modelsclass Account(mod...

2018-10-29 21:12:43 362

原创 Django框架(十一:orm操作之表的一对多)

先创建两个表,一个为教室表,一个为学生表,两者为一对多的关系,也就是一个老师能有多个学生,但是一个学生只能有一个老师,所以学生表可以用教室的id作为外键教师表:学生表:向表中添加多条数据用于测试,可在数据库的可视化工具中手动添加,也可以用代码添加(Django框架的博客第十已经介绍),也可以使用admin配置(接下来会对这种方法进行详细介绍)如下图,我在里面插入了三条数据,其中两条是同...

2018-10-29 20:36:07 206

原创 Django框架(十:orm操作)

model.py文件介绍:model.py这个文件中定义的model模型,对应的是数据库中的表及字段。操作数据库的两个命令:1.python manage.py makemigrations 作用:收集model.py文件中发生变化的模型类,执行这个命令,如果出现No change detected,说明django没有检测到当前model发生变化2.python manage.py m...

2018-10-29 17:47:04 236

原创 Django框架(九:自定义form表单,及get强求和post请求的区分)

步骤:先在app下创建一个forms.py文件,文件名是固定的,并在这个文件中声明一个form类。from django import formsclass CustomForm(forms.Form):定制input标签,声明相关字段类型# IntegerField()用来表明输入框值的类型。 # label参数对应的就是<label for="a">数...

2018-10-27 15:19:02 750

转载 Django框架(八:urlname——name参数的作用)

name参数的作用:主要是通过那么的值,来查找url地址,可以理解为反射的作用。在html模板中使用name来反射url,优势就是后期url规则发生改变之后,只需要调整urls.py即可,所有的模板文件都不需要修改。在urls.py文件中添加如下两个路由。urlpatterns = [ path('admin/', admin.site.urls), path('sum/',...

2018-10-22 21:54:12 1303

原创 Django框架(七:静态文件的导入,并提取出相同的部分作为父模板来继承)

在第五篇我已经介绍了模板的继承,今天就来实际的应用一下。我们使用伯乐在线(网页链接)来做个实例。首先可以抽取功能的源代码来做练习,比如伯乐在线的“IT职场”和“数据库”的所有源代码,个人使用抽取源代码的工具——仿站小工具。将抽取好的文件保存到本地。然后在项目的根目录下建一个目录static,注意这个名称是固定不变的,并在下面继续建立相应的目录,如css/image/js等等,然后将下载的...

2018-10-22 21:07:31 602

原创 Djang框架( 一:django框架的简介以及urls.py文件的使用)

Django框架:pip install Django;1.创建项目django-admin startproject 项目名称(project)2.进入项目根目录cd project3.创建app应用python manage.py startapp 应用名称Django简介:Django是使用python语言开发的一套免费开源的后台web框架,主要为前端HTML提...

2018-10-22 19:46:56 1902

原创 Django框架(六:在pycharm中项目的创建方式)

如何创建一个Django新的项目:第一种方式就是cmd,这种放式在前面介绍Django框架的第一篇已经介绍过,不直接也不方便,现在介绍的是第二种方式:在pycharm中直接创建。方式:点击File->New Project->Django,见到如下页面:对页面做个简单介绍:接下来就创建新的项目和app点击创建后会弹出如下选择框:我们选择在新的窗口打开,新建的项目如下...

2018-10-22 19:38:39 332

原创 Django框架(五:模板继承)

模板继承:对于一个网址来说,会存在很对的.html文件,但是由于一些页面中会有相同的页面结构出现,也就导致了.html文件中代码是重复的,所以为了在html中减少重复代码出现,简化html结构,可以将多个页面中相同的html代码,单独的抽离出来放在一个html文件中,其他的html文件如果想要使用这部分内容,直接继承过去就可以了。有的类似于类的继承首先在urls.py文件中创建多个路由对应的...

2018-10-18 19:23:31 251

原创 Django框架(四:Django自定义标签和过滤器)

如何自定义Django模板语言中的标签和过滤器1.在app下或者在项目根目录下新建包文件夹:templatetags(名称固定);2.在这个包中新建一个.py文件,名称自定义;**注意:**创建的templatetags包必须和views.py文件同阶,在同一个app 下,调整如下:实例代码,views.py中的设置:接下来进入自己创建的.py文件中,注册过滤器,过程如下:fr...

2018-10-18 11:09:24 231

原创 Django框架(三:templates的设置)

模板的渲染:视图函数在返回Response的时候,返回的是一个HTML文件,并且会传递一些数据给HTML,最终将这些数据展示页面中。Django中提供了一个templates文件夹,用于存放所有的html文件。templates文件夹的创建位置:在项目根目录下创建:这种情况整个项目只有一个templates文件夹,供所有的APP使用;分模块,在各自的app下创建templates文件夹。...

2018-10-17 21:49:18 2642

原创 DjangoCourse(二: 通过url路由,向视图函数传递参数)

urls.py文件中的这些地址,称为url路由,就是url地址。如何通过url路由,向视图函数(Function views)传递参数。直接在浏览器的url后,使用?和&符号拼接参数,视图函数应如何接受参数?# urls.py文件中:path('args/',views.params_first)在views.py中的设置def params_first(request)...

2018-10-17 21:12:45 3255

原创 scrapy重写pipelines.py存储图片

重写pipeline.pyimport scrapyfrom scrapy.pipelines.images import ImagesPipelineclass ZhanzhangsucaispiderPipeline(object): def process_item(self, item, spider): return item#自定义图片存储pipe...

2018-09-27 21:23:12 903 1

原创 scrapy默认文件和图片的存储

scrapy自带文件和图片的存储方式,设置方式如下

2018-09-27 21:00:40 646

原创 scrapy框架settings.py文件内容的注释

# -*- coding: utf-8 -*-# Scrapy settings for QiShuSpider project## For simplicity, this file contains only settings considered important or# commonly used. You can find more settings consulting t...

2018-09-26 21:40:12 470

转载 selenium模拟登陆百度云盘

from selenium import webdriverimport timedriver=webdriver.Chrome()driver.maximize_window()driver.get("https://pan.baidu.com/")driver.implicitly_wait(5)time.sleep(3)#等待三秒钟定位到账号密码登陆这个地方,进行点击dr...

2018-09-26 21:04:38 1235

原创 selenium模块的详细总结

使用selenium对网页发起请求# 导入webdriverfrom selenium import webdriver# 创建一个浏览器对象browser = webdriver.Chrome()# 使用浏览器对象对网址发起请求browser.get('url')selenium的定位单个节点# 通过id值匹配res = browser.find_element_by_id(...

2018-09-20 22:15:00 939

原创 Scrapy框架使用微博CookiesPool时的相关设置

我们想要爬取微博这样的大型网站,如果不采取一些措施,IP很容易遭到查封,而使用cookie池便是很好的方法。**第一步:**下载代理Cookie池下载网址:GitHub:https://github.com/Python3WebSpider/CookiesPool进入到该网站并下载下载完成解压缩文件之后,需要进行一些配置的更改,如图以及config.py文件底部的设置,第一个在新...

2018-09-20 19:26:34 566 2

zhihuSpider

scrapy是我们爬虫常用的一个框架,功能完整,我用其对知乎网站进行了爬取

2018-09-20

windows下mongodb的安装

MongoDB是python中一种常用的非关系型数据库,我们可以用它来存储一些数据,这里是它的安装的详细过程

2018-09-20

selenium模块

selenium模块是python爬虫中一个解决一些网页反爬虫的一个有效手段,可以使用它来模拟人操作浏览器的行为

2018-09-20

time和datetime两种模块的总结

关于time模块和datetime模块的详细总结,可以对比并加以区分

2018-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除