Django笔记(缓存、富文本)

缓存

减轻服务器和数据库的压力,加快速度,提高用户体验。

用数据库方式做缓存

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')

猜你喜欢

转载自blog.csdn.net/ding_312/article/details/82348113