抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。 中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。 我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。 因为改变的是全局,所以需要谨慎实用,用不好会影响到性能 中间件作用如果你想修改请求,例如被传送到view...

当页面因需要展示的数据条目过多,导致无法在一个页面全部显示。这时,页面经常会采用分页形式进行展示,然后每页显示 20 或者 50 等条数据。分页经常在网站上随处可见, 分页的实现不仅提高了用户体验,还是减轻数据库读取数据的压力。Django 自带名为 Paginator 的分页工具, 方便我们实现分页功能。本文就讲解如何使用 Paginator 实现分页功能。 PaginatorPagina...

static 和 media 都是存放文件的地方,但是又有区别,以下是两个文件夹的区别和用法 staticstatic 是静态文件,主要存的是 CSS, JavaScript, 网站 logo 等不变的文件。 配置 settings.py STATIC_URL = '/static/' # 静态文件别名(相对路径) 和 绝对路径 STATICF...

在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存到内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或mem...

我们常常会用到一些发送邮件的功能,比如:有人注册网站之后,需要向其邮箱中发送激活链接,只有点击激活链接,激活账户之后,才允许登录。 配置相关参数在 settings.py 的最后面加上类似这些 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = Fals...

在这篇文章中,将在 Django 应用程序中启用 WebSocket,而无需安装第三方应用程序。 Django 从 3.0 版本开始引入了 ASGI 接口,并在 3.1 版本中引入了异步视图。我们的解决方案将基于异步视图。 在本教程中,我们将使用 Python 3.7 和 Django 3.2。 WebSocket ASGI 接口介绍ASGI 是为我们服务多年的旧 WSGI 协议的替代协议,...

ElasticSearchelaticsearch:Elasticsearch 的官方低级客户端。它的目标是为 Python 中所有与 Elasticsearch 相关的代码提供基础操作,类似于pymysql。 安装pip install elasticsearch 链接from elasticsearch import Elasticsearch es = Elastics...

正则表达式   re 模块是 python 独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。 注意: re 模块是 python 独有的 正则表达式所有编程语言都可以使用 规则字符 元字符 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线 \s...

Python中使用Redis使用 python 操作 redis,可以安装一个第三方库,名字就叫做 redis。它提供了一些接口,能够使我们更加方便的操作 redis。 安装pip install redis 普通连接python 操作 redis,需要通过一个 redis 连接对象来进行: In [1]: import redis In [2]: conn = redis.R...

在并发编程中,经常会遇到多个线程访问同一个共享资源而这时候/我们就需要保证数据的“致性,那么就要用到锁的概念,给资源加上锁,拿到锁所有权的人才能够进行操作共享资源,没有拿到资源的线程需要等待,等其他线程使用完,释放锁。 在项目中,遇到多个用户抢购商品时、商品的数量就是共享资源。因此,在操作商品库存数据时,也需要使用锁保证商品库存的一致。 线程锁如果在单服务器架构中,就可以使用线程锁...