" name="sm-site-verification"/>
侧边栏壁纸
博主头像
PySuper博主等级

千里之行,始于足下

  • 累计撰写 203 篇文章
  • 累计创建 14 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Django Redis 缓存优化

PySuper
2021-02-18 / 0 评论 / 0 点赞 / 10 阅读 / 2421 字
温馨提示:
所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊
docker

视图缓存

缓存整个视图返回的数据

from django.views.decorators.cache import cache_page
from zanhu.articles import views

app_name = "articles"

urlpatterns = [
    # 在这里配置对于试图的缓存--缓存5分钟
    path("<str:slug>/", cache_page(5 * 60)(views.ArticleDetailView.as_view()), name="article"),
]

只缓存视图中的某一个方法

# 只缓存get请求返回的结果, 不缓存post请求返回的结果
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page

@method_decorator(cache_page(60 * 60), name="get")
class ArticleCreateView(LoginRequiredMixin, CreateView):
    """发表文章==>填写表单==>使用form"""
    model = Article
    form_class = ArticleForm
    template_name = "articles/article_create.html"
    message = "您的文章已创建成功!"

前端模板片段的缓存(导航栏)

request.user.username : 实现针对不同用户, 缓存不一样的数据

{% load static thumbnail compress cache %}

<!DOCTYPE html>

{% cache 3600 sidebar request.user.username %}
    <nav class="navbar fixed-top navbar-expand-sm bg-light"...>
{% endcache %}
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区