缓存
减轻服务器和数据库的压力,加快速度,提高用户体验。
用数据库方式做缓存
1.在settings.py 中配置
# 缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
'TIMEOUT': '60',
'OPTIONS': {
# 最大缓存个数(默认300)
'MAX_ENTRIES': '300',
},
'KEY_PREFIX': 'rock',
'VERSION': '1',
}
}
2.创建缓存表
python manage.py createcachetable
3.在views写缓存时间
# 过期缓存时间
@cache_page(60)
def get_data(req):
# 缓存时间
time.sleep(5)
return HttpResponse("1234")
富文本
富文本:Rich Text Format(RTF),是有微软开发的跨平台文档格式,大多数的文字处理软件都能读取和保存RTF文档,其实就是可以添加样式的文档,和HTML有很多相似的地方
tinymce 插件
pip install django-tinymce
1.在后台管理中使用
首先配置settings.py
# 富文本
TINYMCE_DEFAULT_CONFIG = {
# 主题
'theme': 'advanced',
# 宽
'width': 800,
# 高
'height': 600,
}
在models里添加HTMLField属性
from django.db import models
from tinymce.models import HTMLField
# Create your models here.
class Player(models.Model):
name = models.CharField(
max_length=30,
verbose_name="游戏名"
)
desc = models.CharField(
max_length=251,
verbose_name="简介"
)
rate = models.FloatField(
verbose_name="评分"
)
extra = HTMLField(
null=True
)
def __str__(self):
return self.name
在admin中把extra添加进去就可以了
2.在前端页面使用(博客)
前端页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src='/static/tiny_mce/tiny_mce.js'></script>
{# <script src='/home/ubuntu/gz1803/py3_gz1803/lib/python3.6/site-packages/tinymce/static/tiny_mce/tiny_mce.js'></script>#}
</head>
<body>
<form action="#">
<textarea name="" id="" cols="30" rows="10" ></textarea>
</form>
</body>
<script>
tinyMCE.init({
'mode': 'textareas',
'theme': 'advanced',
'width': 800,
'height': 600
})
</script>
</html>
<script src='/static/tiny_mce/tiny_mce.js'></script>该js文件需要在安装的tinymce中找
views中返回
def get_html(req):
return render(req, 'get_html.html')