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快速排序代码实例
Nov 21 Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
python向图片里添加文字
Nov 26 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
Apr 11 Python
python如何使用腾讯云发送短信
Sep 17 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
python查询MySQL将数据写入Excel
Oct 29 Python
python中doctest库实例用法
Dec 31 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
PHP Socket 编程
2010/04/09 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
smarty缓存用法分析
2014/12/16 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
Python引用模块和查找模块路径
2016/03/17 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
教师自我鉴定
2013/12/13 职场文书
打架检讨书800字
2014/01/10 职场文书
运动会广播稿60字
2014/01/15 职场文书
组工干部演讲稿
2014/09/02 职场文书
安全生产工作汇报
2014/10/28 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
《确定位置》教学反思
2016/02/18 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL