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.在前端页面使用(博客)

前端页面




    
    Title
    
{#    #}


该js文件需要在安装的tinymce中找

views中返回

def get_html(req):
    return render(req, 'get_html.html')

 

你可能感兴趣的:(Django)