django 发送邮件和缓存的实现代码


Posted in Python onJuly 18, 2018

发送邮件

概述:Django中内置了邮件发送功能,发送邮件需要使用SMTP服务,常用的免费服务器有:163、126、QQ

  • 注册并登陆163邮箱
  • 打开POP3/SMTP服务与IMAP/SMTP服务
  • 重置授权密码

配置

#邮件发送
EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='smtp.163.com'
EMAIL_PORT=25
#发送邮件的邮箱
EMAIL_HOST_USER='clement@163.com'
#邮箱的授权密码
EMAIL_HOST_PASSWORD='xxxxxx'
#收件人看到的发件人
EMAIL_FROM='DAI<clement@163.com>'

发送

send_mail(subject, message, from_email, recipient_list)

from django.conf import settings
from django.core.mail import send_mail
def sendMail(request):
  msg = '<a href="http://127.0.0.1:8000/index/" rel="external nofollow" >点击激活</a>'
  send_mail("注册激活","",settings.EMAIL_FROM,["clement@163.com"],html_message=msg)
  return HttpResponse("邮件已发送")

缓存

概述:对于中等流量的网站来说,尽可能的减少开销是非常必要的。缓存数据就是为了保存那些需要很多计算资源的结果,这样的话就不必在下次重复消耗计算资源。

Django自带了一个健壮的缓存系统来保存动态页面,避免每次请求都重新计算。

Django提供了不同级别的缓存策略,可以缓存特定的视图的输出、可以仅仅缓存那些很难计算出来的部分、或者缓存整个网站

设置缓存

通过设置决定把数据缓存在哪里,是数据库中、文件系统中还是内存中

默认缓存

CACHES={
  'default':{
    'BACKEND':'django.core.cache.backends.locmem.LocMemCache',
    'TIMEOUT':60
  }
}

参数TIMEOUT:缓存的默认过期时间,以秒为单位

  • 默认为300秒
  • 设置为None,表示永不过期
  • 设置为0造成缓存立即失效

将缓存存储到redis

默认使用redis中的1数据库

安装

pip install django-redis-cache

配置

CACHES={
  'default':{
    'BACKEND':'redis_cache.cache.RedisCache',
    'LOCATION':'localhost:6379',
    'TIMEOUT':60
  }
}

单个view缓存

django.views.decorators.cache.cache_page装饰器用于对视图的输出进行缓存

from django.views.decorators.cache import cache_page

@cache_page(60 * 2)
def index(request):
  # return HttpResponse("sunck is a good man")
  return HttpResponse("sunck is a nice man")

模板片段缓存

cache标签: 参数

  • 缓存时间,以秒为单位
  • 给缓存片段起名字
{#{% load static from staticfiles %}#}
{% load static %}
{% load cache %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>主页</title>

{#  <link rel="stylesheet" type="text/css" href="/static/css/index.css" rel="external nofollow" >#}
  <link rel="stylesheet" type="text/css" href="{% static 'css/index.css' %}" rel="external nofollow" >
</head>
<body>
  <h1>sunck is a nice man</h1>
  {% cache 120 sunck %}
    <h1>nice man</h1>
    <!--<h1>good man</h1>-->
  {% endcache %}
</body>
</html>

底层的缓存API

from django.core.cache import cache
  • 设置:cache.set(键, 值, 有效时间)
  • 获取:cache.get(键)
  • 删除:cache.delete(键)
  • 清空:cache.clear()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基于multiprocessing的多进程创建方法
Jun 04 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
解决pycharm界面不能显示中文的问题
May 23 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
Python lambda表达式用法实例分析
Dec 25 Python
python实现字符串加密成纯数字
Mar 19 Python
Python实现打砖块小游戏代码实例
May 18 Python
Python3.8中使用f-strings调试
May 22 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
python 实现线程之间的通信示例
Feb 14 Python
python实现linux下抓包并存库功能
Jul 18 #Python
python调用tcpdump抓包过滤的方法
Jul 18 #Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 #Python
解决Python3中的中文字符编码的问题
Jul 18 #Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 #Python
python 将print输出的内容保存到txt文件中
Jul 17 #Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 #Python
You might like
十天学会php之第八天
2006/10/09 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
js Calender控件使用详解
2015/01/05 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
js 调用百度分享功能
2017/02/27 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Python 如何测试文件是否存在
2020/07/31 Python
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
文明礼仪标语
2014/06/13 职场文书
领导干部保密承诺书
2014/08/30 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
MySQL创建表操作命令分享
2022/03/25 MySQL
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python