简单的Django URL短裤。

django-link-shortener的Python项目详细描述


https://travis-ci.org/ronaldgrn/django-link-shortener.svg?branch=masterPyPI - LicensePyPIhttps://coveralls.io/repos/github/ronaldgrn/django-link-shortener/badge.svg?branch=master

django link shortener是一个简单的时间和使用敏感的url缩短应用程序。

使用a-za-z0-9,但i、i和1除外。

需要用户登录才能创建链接。

用法

  1. pip安装django链接缩短器

  2. 将“shortener”添加到已安装的应用程序设置中,如下所示:

    INSTALLED_APPS = [
        ...
        'shortener',
    ]
    
  3. 在项目url.py中包含polls urlconf,如下所示:

    path('s/', include('shortener.urls')),
    
  4. 运行python manage.py migrate来创建shortener模型。

测试

  1. 将以下内容添加到设置中

` SHORTENER_ENABLE_TEST_PATH = True `

  1. 启动开发服务器并访问http://127.0.0.1:8000/s/test/<;我的url here>; 创建测试快捷方式。

    使用shortener.create(user,link)通过代码生成链接。使用shortener.expand(link) 还原

  1. 访问http://127.0.0.1:8000/s/<;shortcode>;/进行重定向

配置选项

放入settings.py。每个设置都将在每个用户的基础上使用admin urlprofile部分覆盖

短路器启用

默认值:真

控制没有shortener配置文件的用户是否可以创建短链接。

shortener_max_网址

默认值:-1

控制每个帐户生成的URL的默认最大限制。 -1集无限。

shortener_max_concurrent

默认值:-1

控制每个帐户的{EEM1} $并发EME>(活动)生成的URL的默认最大限制。 -1集无限

更短的寿命

默认值:-1

设置链接的默认寿命(秒) -1集无限

shortener_max_使用

默认值:-1

设置可跟踪链接的默认次数 -1集无限

更短的长度

默认值:5

注意:在urlprofile中省略

设置链接应使用的位数。 尝试三次生成一个独特的短代码,其中 每次故障都将导致时间长度增加1。

短路器启用测试路径

默认值:false

如果为true,则在s/test/<;<;url>;>;/

响应是在s/<;<;shortcode>;>;

常见用例

goo.gl类型用法(默认)。无限长时间的无限并发链接

SHORTENER_ENABLED = True
SHORTENER_MAX_URLS = -1
SHORTENER_MAX_CONCURRENT = -1
SHORTENER_LIFESPAN = -1
SHORTENER_MAX_USES = -1

内部临时链接使用(例如在nodeferret.com上)。每分钟100个温度链接。每个链接使用1次。

SHORTENER_ENABLED = True
SHORTENER_MAX_URLS = -1
SHORTENER_MAX_CONCURRENT = 100 # To prevent spamming
SHORTENER_LIFESPAN = 600
SHORTENER_MAX_USES = 1

更改日志

v0.4

  • 在urlprofile中允许空值;空字段将使用全局值
  • str在admin中表示urlprofile
  • 将用户添加到urlmap的str表示形式
  • 删除了完整URL上256个字符的限制(credit:khaeshah)

升级说明

0.3->;0.4

pip install django-link-shortener==0.4
python manage.py migrate

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Webstart“javaws open”标志不适用于多个参数   java ArrayList声明和处理   获取数组中值的百分比(Java)   java将ArrayList转换为字符串以存储在共享首选项中   Java8Lambdas与泛型的结合使用   Scala数组到Java   如何使用java知道webcontainer的路径?   java使用“收集”和“合并”的组背后的算法是什么   java OSGi:在两个不同的包中具有相同的包路径   java混淆了swt画布。重画   java正则表达式,用于5位数逗号分隔的值,例如047000480004900   使用HttpClient显示非ASCI字符的java   水塔计算程序Java中球体体积的计算   java根据给定值调整框架中所有组件的大小   java Builder类中的其他方法(lombok注释)