Skip to main content

A Django app that provides utils to build a custom URL shortener.

Project description

Django URL Shortner

A set of utils to build custom fully-functional Django URL Shortner. This library helps you build a custom URL Shortner service for your project without relying on external services like bitly

Quick Start

Installation

Django UrlShortner is available at the Python Packaging Index so you can Install it using pip

pip install django-urlshortner

Please dont mistake the spelling with django-urlshortener when installing. The name does not have an e in the word shortner. Its django-urlshortner not django-urlshortener

After you should add the urlshortner app to your INSTALLED_APPS in settings.py

Configuration

INSTALLED_APPS = [
    # ....
    "urlshortner"
]

Then you migrate the models to your database

python3 manage.py migrate

Lastly add the routes to your URLConf in your urls.py of your project.

url_patterns = [
    # ...
    path("r/", include("urlshortner.urls")),
]

Now you are good to go.

Usage

The library provides a list of utils to create shortened urls.

To create a short version of a url use the shorten_url function from urlshortner.utils module

# python3 manage.py shell
from urlshortner.utils import shorten_url

url_route = shorten_url(
    "https://github.com/jim-junior/django-urlshortner",
    is_permanent=False
)

print(url_route)
# >>> 0ee3f0

You can now navigate to you the route that you assigned to urlshortner.urls in your URLConf add the returned value att the end of the url. In this case it would be http://localhost:8000/r/0ee3f0/ and this would redirect you to the right URL

Sometimes you want to create a custom URL. For example you want to create a short link for a blog about your new product and you want a url that is easy to remember. You can add this easily by adding the value argument to the shorten_url function

from urlshortner.utils import shorten_url

url_route = shorten_url(
    "https://myblog.com/blog/2022/10/10/..../my-new-product",
    value="NewProduct"
    is_permanent=False
)

You can now navigate to https://localhost/r/NewProduct and It will redirect you


Licence MIT

Copyright © Beingana JIm Junior, 2022

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-urlshortner-0.0.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

django_urlshortner-0.0.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file django-urlshortner-0.0.2.tar.gz.

File metadata

  • Download URL: django-urlshortner-0.0.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for django-urlshortner-0.0.2.tar.gz
Algorithm Hash digest
SHA256 03247efb287e6a5df9eed2e8983aae93070d6bf71a209fb8b3904d6f355f292a
MD5 2d2246ae961f5a9826452c5295adf493
BLAKE2b-256 0bb20c93edd77627a3107460956519d0783c85a94678718b19ae3499a10d7369

See more details on using hashes here.

File details

Details for the file django_urlshortner-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_urlshortner-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7dcd839eea458a6d471b181f7927943b2b4d87e63b51e7592ce503bfdaacb469
MD5 a31a70c4455df76190ee8791ed74d83e
BLAKE2b-256 e7bd764f3e0eb831ac7d42bce1b01f3212b8c0190b29bd9106a1688daf23ba6a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page