Django应用程序,缓存CDN文件以供脱机编码时使用
django-airplane的Python项目详细描述
这个应用程序是为了帮助那些你不能进入网络但是 你想写一些django代码。围绕您的静态cdn引用(如 jquery等)使用这个模板标记,当您打开url时 将从本地副本中重写。
安装
在设置文件中,将'airplane'添加到settings.INSTALLED_APPS字段 并添加以下内容:
importairplaneSTATICFILES_DIRS=(os.path.join(BASE_DIR,airplane.CACHE_DIR),)AIRPLANE_MODE=airplane.BUILD_CACHE#AIRPLANE_MODE = airplane.USE_CACHE
现在在模板中使用airplane标记
{% load airplanetags %} <html><head><linkrel="stylesheet"href="{% airplane 'https://maxcdn.bootstrapcdn.com/bootstrap.min.css' %}"></head></html>
将AIRPLANE_MODE设置更改为airplane.USE_CACHE并随后更改 调用{% airplane %}标记将返回对本地 缓存版本。
设置
只有当DEBUG=True和 AIRPLANE_MODE值设置为airplane.BUILD_CACHE或 airplane.USE_CACHE如果不满足其中一个条件,则标记 返回传入的值。
例如,如果DEBUG=False和模板包含:
<linkrel="stylesheet"href="{% airplane 'https://maxcdn.bootstrapcdn.com/bootstrap.min.css' %}">
然后上述片段呈现为:
<linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap.min.css">
当AIRPLANE_MODE设置为airplane.BUILD_CACHE时,传入的任何URL 获取它们的内容并将其添加到本地缓存。默认本地 缓存相对于项目的基目录是.airport_cache
您可以通过设置AIRPLANE_CACHE来更改缓存的位置。这个 设置接受完全限定的路径或相对于 项目的基本目录。
缓存完所有正在使用的文件后,将AIRPLANE_MODE切换到 airplane.USE_CACHE所有的url现在都被重写以指向内容 本地缓存的。
支持
Django飞机已通过以下测试:
- Python 2.7、3.6、3.7和Django 1.11
- python 3.6、3.7和django 2.1
- Python 3.6、3.7和Django 2.2