跳转到主要内容

Django的静态重定向

项目描述

Django Static Redirects

CI PyPI PyPI - Python Version PyPI - License

在您的仓库中以CSV或JSON文件的形式定义重定向,让Django高效地提供服务。

重定向匹配旨在尽可能快,不使用数据库。

安装

pip install django-static-redirects

然后,将static_redirects添加到INSTALLED_APPS

重定向作为中间件完成。在MIDDLEWARE中添加static_redirects.StaticRedirectsMiddleware,在您认为合适的地方 - 理想情况下,在修改响应的任何中间件(例如GzipMiddleware)之下,但在任何特别密集的中间件之上,以便在它们之前应用重定向。

用法

要添加包含重定向的文件,请在STATIC_REDIRECTS中设置它们。

STATIC_REDIRECTS = [
    BASE_DIR / "static-redirect.csv",
    BASE_DIR / "static-redirect.json",
]

重定向文件按顺序读取,后者重定向优先。

重定向可以是仅路径,在这种情况下,它们匹配所有主机名,或者包括主机名。匹配不包括方案。如果请求包含查询字符串,则忽略,除非找到包含查询字符串的匹配项。

CSV文件

CSV文件必须包含2或3列,没有标题。第一列是源路径,第二列是目标URL,第三列(可选)表示重定向是否为永久性。

/source,/destination,true
/source2,/destination2
https://example.com/source3,/destination3

JSON文件

JSON文件必须包含对象列表

[
    {
        "source": "/source",
        "destination": "/destination",
        "is_permanent": true
    },
    {
        "source": "/source2",
        "destination": "/destination2",
    },
    {
        "source": "/source3",
        "destination": "/destination3",
        "hostname": "example.com"
    },
    {
        "source": "https://example.com/source4",
        "destination": "/destination4",
    }
]

与CSV类似,is_permanent是可选的,默认为false

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django_static_redirects-1.0.0.tar.gz (10.1 kB 查看哈希)

上传时间

构建分布

django_static_redirects-1.0.0-py3-none-any.whl (6.3 kB 查看哈希)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面