跳转到主要内容

此存储后端将文件按其哈希值命名,并添加一个具有原始名称的符号链接。无重复,您可以随心所欲地进行SEO。

项目描述

Seo ville slugger将解决您在Django、媒体文件和文件名方面遇到的问题。

Django的默认存储后端有一些相当令人烦恼的行为。当第二次上传相同的文件时,您会在磁盘上得到第二个文件,并在末尾添加一些奇怪的哈希值。

对此不满的有两种人。

  1. 需要为磁盘空间付费的人

  2. 客户雇佣的SEO人员。

此存储后端将文件按其哈希值命名,并添加一个具有原始名称的符号链接。无重复,您可以随心所欲地进行SEO。

媒体文件和页面速度移动分数

理想情况下,您希望网站的已上传文件具有长缓存过期标题,就像静态文件一样。这通常与漂亮的URL结合使用时会出现问题。当使用SEOStorage时,可以安全地放置长过期标题,因为文件分布在以哈希值的一小部分命名的文件夹中。显然,这个小的哈希值可能会导致冲突,因此存储后端将按照以下方式防止冲突

在极少数情况下,如果我们遇到两个不同文件具有完全相同的文件名,并且由于哈希冲突而最终在同一个文件夹中,新文件将不会获得漂亮的SEO URL。相反,将使用完整的哈希文件名。在这些罕见的情况下,您可能会得到一个SEO不友好的URL。

我们不必担心这个问题,对吧?几乎没有人会注意到!

使用方法

您可以通过将以下内容添加到Django设置中,在全局范围内使用存储后端

DEFAULT_FILE_STORAGE = 'seo.ville.slugger.SEOStorage'

Sorl thumbnail

假设您希望sorl thumbnail也有基于原始文件名的漂亮URL?

THUMBNAIL_BACKEND = 'seo.ville.sorl.SEOThumbnailBackend'
THUMBNAIL_STORAGE  = 'seo.ville.sorl.SEOThumbnailStorage'

在sorl中,您可以将slug作为参数传递给缩略图标签

{% thumbnail image "330x450" upscale=True slug=slug as thumb %}

设置

HASH_BLOCKSIZE 如果您认为文件散列使用太多或不足够内存,请修改此值 HASH_DIRNAME_SLICE_SIZE 如果您发现碰撞太多,请修改此值。

项目详情


下载文件

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

源代码分发

seo-ville-slugger-0.0.7.tar.gz (4.9 kB 查看哈希值)

上传时间 源代码

构建分发

seo_ville_slugger-0.0.7-py3-none-any.whl (18.2 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面