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 相关文章推荐
在MAC上搭建python数据分析开发环境
Jan 26 Python
python正则表达式面试题解答
Apr 28 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Python列表(List)知识点总结
Feb 18 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python爬虫中多线程的使用详解
Sep 23 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 Python
如何利用Python识别图片中的文字
May 31 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
php 显示指定路径下的图片
2009/10/29 PHP
smarty中js的调用方法示例
2014/10/27 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python返回昨天日期的方法
2015/05/13 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
4s店总经理岗位职责
2013/12/31 职场文书
医德医风演讲稿
2014/05/20 职场文书
2014年团总支工作总结
2014/11/21 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
子女赡养老人协议书
2016/03/23 职场文书