Создание службы URL Shortener в Python Django

Сократители URL-адресов стали популярной услугой в Интернете. Такие компании, как bitly, делают на них огромные состояния. Но иногда, когда вы хотите получить собственный URL, вам приходится платить за услугу. Поэтому в этом уроке я собираюсь показать вам, как создать сервис сократителя URL в Django.

В этом уроке я ожидаю, что вы знакомы с шаблонами и формами, потому что я не буду их рассматривать, а просто покажу вам, как прагматично создать сервис в коде python.

Установка

Для установки проекта нам понадобится только один пакет — django-urlshortner. Поэтому начнем с установки пакета с помощью pip. Это предполагает, что вы уже установили проект django.

pip install django-urlshortner
Вход в полноэкранный режим Выйдите из полноэкранного режима

После этого вы должны добавить приложение urlshortner в INSTALLED_APPS в файле settings.py

Конфигурация

INSTALLED_APPS = [
    # ....
    "urlshortner"
]
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем вы мигрируете модели в вашу базу данных

python3 manage.py migrate
Войти в полноэкранный режим Выйти из полноэкранного режима

Наконец, добавьте маршруты в URLConf в urls.py вашего проекта.

url_patterns = [
    # ...
    path("r/", include("urlshortner.urls")),
]
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь вы готовы к работе.

Использование

Библиотека предоставляет список инструментов для создания укороченных урлов.

Для создания короткой версии url используйте функцию shorten_url из модуля urlshortner.utils.

# 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
Вход в полноэкранный режим Выход из полноэкранного режима

Теперь вы можете перейти по маршруту, который вы назначили для urlshortner.urls в URLConf, добавив возвращаемое значение в конец url. В данном случае это будет http://localhost:8000/r/0ee3f0/, и это перенаправит вас на нужный URL.

Иногда вы хотите создать собственный URL. Например, вы хотите создать короткую ссылку для блога о вашем новом продукте, и вам нужен легко запоминающийся URL. Это можно легко сделать, добавив аргумент value в функцию shorten_url

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
)
Вход в полноэкранный режим Выход из полноэкранного режима

Теперь вы можете перейти на сайт https://localhost/r/NewProduct, и он перенаправит вас.

Теперь, когда вы знаете, как использовать пакет, я думаю, вы сможете интегрировать его в свой проект.

Надеюсь, эта статья была полезной. Вы можете присвоить проекту звезду на Github или, если у вас есть идеи для дополнения, вы можете внести свой вклад в его репозиторий. И, кстати, я являюсь автором этой библиотеки.

Оцените статью
devanswers.ru
Добавить комментарий