Python Django에서 URL Shortener 서비스 만들기



URL 단축기는 웹에서 인기 있는 서비스가 되었습니다. bitly과 같은 회사는 그들로부터 큰 돈을 벌고 있습니다. 그러나 때로는 맞춤 URL을 원할 때 서비스 비용을 지불하게 됩니다. 그래서 이 튜토리얼에서는 Django에서 URL 단축 서비스를 구축하는 방법을 보여드리겠습니다.

이 튜토리얼에서는 템플릿과 양식에 대해 다루지 않을 것이기 때문에 여러분이 템플릿과 양식에 익숙할 것으로 기대합니다. 대신 파이썬 코드로 서비스를 실용적으로 구축하는 방법을 보여드리겠습니다.

설정



프로젝트를 설정하려면 하나의 패키지만 필요합니다. 장고 URL단축기. 따라서 pip를 사용하여 패키지를 설치하는 것으로 시작하겠습니다. 이것은 이미 django 프로젝트를 설정했다고 가정합니다.

pip install django-urlshortner


settings.py에서 INSTALLED_APPS에 urlshortner 앱을 추가한 후

구성




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


그런 다음 모델을 데이터베이스로 마이그레이션합니다.

python3 manage.py migrate


마지막으로 프로젝트의 urls.py에서 URLConf에 경로를 추가합니다.

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


이제 갈 수 있습니다.

용법



라이브러리는 단축 URL을 생성하는 유틸리티 목록을 제공합니다.

짧은 버전의 URL을 만들려면 urlshortner.utils 모듈의 short_url 함수를 사용하세요.

# 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


이제 URLConf에서 urlshortner.urls에 할당한 경로로 이동하여 URL 끝에 반환된 값을 추가할 수 있습니다. 이 경우 http://localhost:8000/r/0ee3f0/이며 올바른 URL로 리디렉션됩니다.

맞춤 URL을 만들고 싶을 때가 있습니다. 예를 들어 새 제품에 대한 블로그의 짧은 링크를 만들고 기억하기 쉬운 URL을 원합니다. short_url 함수에 value 인수를 추가하면 쉽게 추가할 수 있습니다.

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에 프로젝트에 별표를 달거나 추가할 아이디어가 있으면 repository에 기여할 수 있습니다. 그리고 나는 이 도서관의 저자입니다.

좋은 웹페이지 즐겨찾기