Django
无敌..
脚踏实地
展开
-
登陆接口
暴力破解!只要网站是暴露在公网的,那么很大概率上会被人盯上,尝试爆破这种简单且有效的方式:通过各种方式获得了网站的用户名之后,通过编写程序来遍历所有可能的密码,直至找到正确的密码为止伪代码如下:#密码字典password_dict=[]#登录接口login_url=''defattack(username):forpasswordinpassword_dict:data={'username':username,'password':pas...转载 2020-12-29 22:05:21 · 835 阅读 · 0 评论 -
django rest framework框架中的视图都可以继承哪些类?
#class View(object):#class APIView(View): 封装了view,并且重新封装了request,初始化了各种组件#class GenericAPIView(views.APIView):#1.增加了一些属性和方法,如get_queryset,get_serializer#class GenericViewSet(ViewSetMixin, generic...转载 2018-12-07 09:59:11 · 540 阅读 · 0 评论 -
什么是跨域以及解决方法:
#跨域:# 浏览器从一个域名的网页去请求另一个域名的资源时,浏览器处于安全的考虑,不允许不同源的请求#同源策略:# 协议相同# 域名相同# 端口相同#处理方法:# 1.通过JSONP跨域# JSON是一种数据交换格式# JSONP是一种非官方的跨域数据交互协议# jsonp是包含在函数调用中的json# script标签不受同源策略的影响,手动创建一个script标签,...转载 2018-12-07 09:59:04 · 467 阅读 · 0 评论 -
在浏览器中输入URL后,执行的全部过程。(一次完整的http请求过程)
整个流程如下:域名解析 为了将消息从你的PC上传到服务器 上.需要用到1P协议、ARP协议和0SPF协议 发起TCP的3次握手 建立TCP连接后发起http请求 服务器响应htp请求 浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等) 断开TCP连接 浏览器对页面进行渲染呈现给用户一、域名解析的详细内部过程例如,要查询www.baidu.com...转载 2018-12-09 09:52:44 · 450 阅读 · 0 评论 -
浏览器的一个请求从发送到返回都经历了什么,讲的越详细越好
1、先从网络模型层面:client (浏览器)与 server 通过 http 协议通讯,http 协议属于应用层协议,http 基于 tcp 协议,所以 client 与 server 主要通过 socket 进行通讯;而 tcp 属于传输层协议、如果走 https 还需要会话层 TLS、SSL 等协议; 传输层之下网络层,这里主要是路由协议 OSPF 等进行路由转发之类的。再向下数据链...转载 2018-12-09 09:52:58 · 291 阅读 · 0 评论 -
跨域请求问题django怎么解决的
启用中间件post请求验证码表单中添加{%csrf_token%}标签原创 2018-12-09 09:54:11 · 370 阅读 · 0 评论 -
通过Nginx部署Django(基于ubuntu)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是NGINX的强项)。然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。 可见,uwsg...转载 2018-12-09 09:55:36 · 192 阅读 · 0 评论 -
Django的是如何工作的
一张流程图告诉你,django的处理流程:URL的组成:作为网站的用户,我们首先在浏览器的输入框内输入:http://127.0.0.1:8000/index/URL地址由以下几部分组成:协议类型: HTTP ,FTP HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使...转载 2018-12-09 09:55:54 · 177 阅读 · 0 评论 -
django的MTV与MVC分别代表什么
1.Models:一个抽象层,用来构建和操作你的web应用中的数据,模型是你的数据的唯一的、权威的信息源。它包含你所储存数据的必要字段和行为。通常,每个模型对应数据库中唯一的一张表。from django.db import models# Create your models here.class BlogsPost(models.Model): title = models...转载 2018-12-09 09:56:06 · 1024 阅读 · 0 评论 -
有没有一个工具可以帮助查找python的bug和进行静态的代码区别
PyChecker是一个静态分析工具,它不仅能报告源代码中的错误,并且会报告错误类型和复杂度。Pylint是检验模块是否达到代码标准的另一个工具。转载 2018-12-09 09:56:28 · 630 阅读 · 0 评论 -
创建一个简单tcp服务器需要的流程
1.socket创建一个套接字2.bind绑定ip和port3.listen使套接字变为可以被动链接4.accept等待客户端的链接5.recv/send接收发送数据转载 2018-12-09 09:58:00 · 2428 阅读 · 0 评论 -
Django 本身提供了 runserver,为什么不能用来部署?
runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。 uWSGI 是一个 Web 服务器,它实现了 WSGI 协议、uwsgi、http 等协议。注意 uwsgi 是一种通信协议,而 uWSGI 是实现 uwsgi 协议和 WSGI 协议的 W...转载 2018-12-09 09:59:44 · 5792 阅读 · 2 评论 -
web框架中是如何实现mvc模式的
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:1、Model(模型)表示应用程序核心(比如数据库记录列表)。2、View(视图)显示数据(数据库记录)。3、Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。Mo...原创 2018-12-09 10:00:21 · 1091 阅读 · 0 评论 -
如何进行Django单元测试
Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。类名为django.test.TestCase,继承于python的unittest.TestCase。from django.test import TestCasefrom myapp.models import Animal class AnimalTestCase(TestCase...转载 2018-12-07 09:53:02 · 629 阅读 · 0 评论 -
列举django中间件的5个方法?
1、process_request : 请求进来时,权限认证 。2、process_view : 路由匹配之后,能够得到视图函数3、process_exception : 异常时执行4、process_template_responseprocess : 模板渲染时执行5、process_response : 请求有响应时执行...原创 2018-12-07 10:00:50 · 4015 阅读 · 0 评论 -
PythonWeb | 搭建单服务实现多域名访问
一.搭建环境与项目:平时习惯使用Anconda来管理Python包,所以本文也使用anconda管理环境,当然大家要是习惯使用virtuallen管理环境也没有问题。本文主要是演示怎么完整搭建一个单服务实现多域名访问的流程,不涉及具体的业务流程。由于生成django项目需要先下载django包,所以我们先创建一个基本的虚拟环境,然后在虚拟环境中通过具体命令来生成项目文件。1、环境搭建:...转载 2019-01-01 10:47:38 · 1323 阅读 · 0 评论 -
django rest framework框架中都有那些组件?
1.序列化组件:serializers 对queryset序列化以及对请求数据格式校验2.路由组件routers 进行路由分发3.视图组件ModelViewSet 帮助开发者提供了一些类,并在类中提供了多个方法4.认证组件 写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻5.权限组件 写一个类并注册到权限类(permi...转载 2018-12-08 21:47:48 · 871 阅读 · 0 评论 -
谈谈你对restful规范的认识?
#首先restful是一种软件架构风格或者说是一种设计风格,并不是标准,它只是提供了一组设计#原则和约束条件,主要用于客户端和服务器交互类的软件。 #就像设计模式一样,并不是一定要遵循这些原则,而是基于这个风格设计的软件可以更简洁,更#有层次,我们可以根据开发的实际情况,做相应的改变。#它里面提到了一些规范,例如:#1.restful 提倡面向资源编程,在url接口中尽量要使用名词...转载 2018-12-07 09:48:08 · 1808 阅读 · 0 评论 -
Django 、Flask、Tornado的对比
#1.Django走的是大而全的方向,开发效率高。它的MTV框架,自带的ORM,admin后台管理,自带的sqlite数据库和开发测试用的服务器#给开发者提高了超高的开发效率#2.Flask是轻量级的框架,自由,灵活,可扩展性很强,核心基于Werkzeug WSGI工具和jinja2模板引擎#3.Tornado走的是少而精的方向,性能优越。它最出名的是异步非阻塞的设计方式#Tornado...原创 2018-12-06 10:13:40 · 1803 阅读 · 0 评论 -
什么是wsgi,uwsgi,uWSGI?
WSGI: web服务器网关接口,是一套协议。用于接收用户请求并将请求进行初次封装,然后将请求交给web框架实现wsgi协议的模块: 1.wsgiref,本质上就是编写一个socket服务端,用于接收用户请求(django) 2.werkzeug,本质上就是编写一个socket服务端,用于接收用户请求(flask)uwsgi: 与WSGI一样是一种通信协议,它是...原创 2018-12-07 09:54:15 · 1121 阅读 · 0 评论 -
Django请求的生命周期?
#1.wsgi,请求封装后交给web框架 (Flask、Django) #2.中间件,对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session - #3.路由匹配 根据浏览器发送的不同url去匹配不同的视图函数 #4.视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、templates => 渲染 - #5.中间件,对响应的数据进行处...转载 2018-12-08 21:48:13 · 481 阅读 · 0 评论 -
简述什么是FBV和CBV?
#FBV和CBV本质是一样的#基于函数的视图叫做FBV,基于类的视图叫做CBV#在python中使用CBV的优点:#1.提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承)#2.可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性 ...原创 2018-12-08 21:48:59 · 3637 阅读 · 0 评论 -
如何给CBV的程序添加装饰器?
#引入method_decorator模块#1.直接在类上加装饰器@method_decorator(test,name='dispatch')class Loginview(View): pass#2.直接在处理的函数前加装饰器@method_decorator(test) def post(self,request,*args,**kwargs): pass...原创 2018-12-07 10:02:43 · 497 阅读 · 0 评论 -
简述MVC和MTV
MVC软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) Model:负责业务对象与数据库的映射(ORM) View:负责与用户的交互 Control:接受用户的输入调用模型和视图完成用户的请求Django框架的MTV设计模式借鉴了MVC框架的思想,三部分为:Model、Template和View Model(模...原创 2018-12-08 21:48:52 · 839 阅读 · 0 评论 -
说一下Django,MIDDLEWARES中间件的作用和应用场景?
中间件是介于request与response处理之间的一道处理过程,用于在全局范围内改变Django的输入和输出。简单的来说中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作例如:1.Django项目中默认启用了csrf保护,每次请求时通过CSRF中间件检查请求中是否有正确token值2.当用户在页面上发送请求时,通过自定义的认证中间件,判断用户是否已经登陆,未登陆...转载 2018-12-08 21:48:08 · 1931 阅读 · 0 评论 -
基于django使用ajax发送post请求时,都可以使用哪种方法携带csrf token?
#1.后端将csrftoken传到前端,发送post请求时携带这个值发送data: { csrfmiddlewaretoken: '{{ csrf_token }}' },#2.获取form中隐藏标签的csrftoken值,加入到请求数据中传给后端 data: { csrfmiddlewaretoken:$('[name="...原创 2018-12-08 21:48:03 · 1719 阅读 · 1 评论 -
Django本身提供了runserver,为什么不能用来部署?(runserver与uWSGI的区别)
1.runserver方法是调试 Django 时经常用到的运行方式,它使用Django自带的WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。2.uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http 等协议。注意uwsgi是一种通信协议,而uWSGI是实现uwsgi协议和WSGI协议的 Web 服务器。uWSG...原创 2018-12-07 09:55:48 · 4266 阅读 · 0 评论 -
cookie和session的区别:
1.cookie: cookie是保存在浏览器端的键值对,可以用来做用户认证2.session: 将用户的会话信息保存在服务端,key值是随机产生的自符串,value值时session的内容 依赖于cookie将每个用户的随机字符串保存到用户浏览器上Django中session默认保存在数据库中:django_session表flask,session默认将...原创 2018-12-08 21:47:58 · 149 阅读 · 0 评论 -
列举django orm 中所有的方法(QuerySet对象的所有方法)
all() 查询所有结果 filter(**kwargs) 它包含了与所给筛选条件相匹配的对象。获取不到返回None get(**kwargs) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个。获取不到会抱胸 #如果符合筛选条件的对象超过一个或者没有都会抛出错误 exclude(**kwargs) 它包含了与所给筛选条件不匹配的对象 order_...转载 2018-12-08 21:48:43 · 1836 阅读 · 0 评论 -
select_related和prefetch_related的区别?
有外键存在时,可以很好的减少数据库请求的次数,提高性能select_related通过多表join关联查询,一次性获得所有数据,只执行一次SQL查询prefetch_related分别查询每个表,然后根据它们之间的关系进行处理,执行两次查询...原创 2018-12-08 21:47:53 · 609 阅读 · 0 评论 -
面试题小知识点
1、filter和exclude的区别?取到的值都是QuerySet对象,filter选择满足条件的,exclude:排除满足条件的.2、F和Q的作用?F:对数据本身的不同字段进行操作 如:比较和更新Q:用于构造复杂的查询条件 如:& |操作3、values和values_list的区别?values : 取字典的querysetvalues_list : 取元...转载 2018-12-07 09:47:03 · 180 阅读 · 0 评论 -
django内置的缓存机制?
# 全站缓存MIDDLEWARE_CLASSES = ( ‘django.middleware.cache.UpdateCacheMiddleware’, #第一 'django.middleware.common.CommonMiddleware', ‘django.middleware.cache.FetchFromCacheMiddleware’, #最后) ...转载 2018-12-07 09:59:30 · 492 阅读 · 0 评论 -
django的缓存能使用redis吗?如果可以的话,如何配置?
#1.安装 pip install django-redis#2.在stting中配置CACHES,可以设置多个缓存,根据名字使用 CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": ...原创 2018-12-07 09:59:23 · 376 阅读 · 0 评论 -
说一下 Django, MIDDLEWARES 中间件的作用?
中间件是介于 request 与 response 处理之间的一道处理过 程, 相对比较轻量级, 并且在全局上改变 django的输入与输出。原创 2018-12-06 09:45:33 · 530 阅读 · 0 评论