Django的URL缩短应用程序。
项目描述
django-shorturls
一个针对Django的自定义URL缩短应用程序,包括简单的rev=canonical支持。
大部分代码最初由Simon Willison编写;有关详情请参阅http://blog.simonwillison.net/post/57956849396/revcanonical/。稍作改进并打包由Jacob Kaplan-Moss完成。
用法
因此,您想在您的Django网站上托管自己的短URL
在您的设置中,定义一组短URL的前缀
SHORTEN_MODELS = { 'A': 'myapp.animal', 'V': 'myapp.vegetable', 'M': 'myapp.mineral' }
键是字符串前缀;实际上可以是任何字符串,但为了简洁,单个字符可能更好。
值是 Django 用来识别模型的(希望熟悉的)"<app-name>.<model-class>"。记住:app-name 是你 INSTALLED_APPS 中应用程序名称的最后一部分(区分大小写),而 <model-class> 是你的模型类名称,小写。
确保你的模型定义了 get_absolute_url() 方法。
通过向你的 URLconf 中添加来连接重定向视图
('^short/', include('shorturls.urls'))
如果你想在模板中快速链接到缩短的 URL,将 "shorturls" 添加到 INSTALLED_APPS,然后在你的模板中做
{% load shorturl %} <a href="{% shorturl object %}">...</a>
(其中 object 是一个模型实例)。
或者
{% load shorturl %} {% revcanonical object %}
这会为你生成整个 <link rev="canonical" href="..."> 标签。
就是这样。
如果你想有更多控制,请继续阅读。
设置
可用的设置有
- SHORTEN_MODELS
你已经看到这个了。
- SHORT_BASE_URL
如果已定义,则 shorturl 和 revcanonical 模板标签将在生成的 URL 前缀添加此值。如果你有一个短域名你想用于小 URL,请使用此设置。
例如,给定 SHORT_BASE_URL = 'http://exm.pl/',{% shorturl obj %} 将返回类似 http://exm.pl/AbCd 的内容。
- SHORTEN_FULL_BASE_URL
当从短 URL 转发时,重定向到的域名。同样,如果你短 URL 基础和你的“真实”网站不同,请使用此设置。
如果没有定义,重定向视图将尝试通过咨询已安装的 django.contrib.sites 框架或请求的域名来猜测正确的域名。
- SHORTURLS_DEFAULT_CONVERTER
用于在短 URL 和模型 ID 之间进行转换的转换器。默认为内置的 62 进制转换。
可用的转换器
shorturls.baseconv.base62 62 进制编码。
shorturls.baseconv.base32 Douglas Crockford 的 32 进制。
shorturls.baseconv.hexconv 十六进制编码。
shorturls.baseconv.bin 二进制编码,因为为什么不。
django-shorturls-2.0.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 382ff617b36fea04981b30457377a46f2034d0940a40a20c6f637c55ea0bda93 |
|
MD5 | 747a58ba75486b9fa3ad5233193e0461 |
|
BLAKE2b-256 | 8a9590b507492711f780f0df09f19de957b7ebc0fcc20b3582bc44ddd19e8502 |