标签 django 下的文章

Django 中使用流响应处理视频


起步

利用 html5 的 <video> 标签可以播放:

<video width="320" height="240" controls>
  <source src="/static/video/demo.mp4" type="video/mp4">
  您的浏览器不支持Video标签。
</video>

但是这样的方式,视频中的进度条无法使用,而且以静态文件方式返回的话,后台的程序会占用大量的内存。

使用响应流的方式能很好的解决这两个问题。


优雅地改进 Django 中的模板碎片缓存


起步

Django 的缓存体系提供了模板片段缓存:

{% load cache %}
{% cache 500 sidebar %}
    .. sidebar ..
{% endcache %}

但使用这个模板缓存还是需要每次都把需要的变量 sidebar 传给模板,不然当缓存过期时碎片是空白的。于是就需要的视图中获取这些数据:

def test_view(request):
    # code...
    sidebar = get_data()
    return render(reqeust, 'test_view.html', {'sidebar': sidebar})

如果这个数据获取的过程比较耗时,那么这个碎片缓存形同虚设。