Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Django에서 URL 단축 앱 만들기

<시간/>

이 기사에서는 Django에서 URL 단축 앱을 만드는 방법을 살펴보겠습니다. 긴 URL을 짧은 URL로 변환해주는 간단한 앱입니다. Django 전용 라이브러리가 아닌 Python 라이브러리를 사용하여 이를 달성하므로 모든 Python 프로젝트에서 이 코드를 사용할 수 있습니다.

먼저 Django 프로젝트와 앱을 생성합니다. settings.py의 INSTALLED_APPS에 앱 URL 포함 및 앱 포함과 같은 몇 가지 기본 설정을 수행합니다.

예시

pyshorteners 설치 모듈 -

pip install pyshorteners

앱의 url.py에서 -

from django.urls import path
from .views import url_shortner

urlpatterns = [
   path('', url_shortner.as_view(), name="url-shortner"),
]

여기에서 보기 집합을 홈 URL의 보기로 설정합니다.

이제 views.py에서 -

from django.shortcuts import render
import pyshorteners
from django.views import View

class url_shortner(View):
   def post(self, request):
      long_url = 'url' in request.POST and request.POST['url']
      pys = pyshorteners.Shortener()
      short_url = pys.tinyurl.short(long_url)
      return render(request,'urlShortner.html', context={'short_url':short_url,'long_url':long_url})

   def get(self, request):
      return render(request,'urlShortner.html')

여기에서 get handler라는 두 가지 요청 처리기 함수가 있는 보기를 만들었습니다. 프런트엔드 html 및 포스트 핸들러를 렌더링합니다. 긴 URL을 가져오고 짧은 URL로 프런트엔드를 다시 렌더링합니다.

템플릿 만들기 앱 디렉토리의 폴더에 urlShortner.html 추가 그 안에 이것을 쓰고 -

<!DOCTYPE html>
<html>
   <head>
      <title>Url Shortner</title>
   </head>
   <body>
      <div >
         <h1 >URL Shortner Application</h1>
         <form method="POST">{% csrf_token %}
            <input type="url" name="url" placeholder="Enter the link here" required>
            <button >Shorten URL</button>
         </form>
      </div>
      </div>
      {% if short_url %}
      <div>
         <h3>Your shortened URL /h3>
         <div>
            <input type="url" id="short_url" value={{short_url}}> <button name="short-url">Copy URL</button> <small id="copied" class="px-5"></small>
         </div>
         <br>
         <span><b>Long URL: </b></span> <a href="{{long_url}}">{{long_url}}</a>
      </div>
      {%endif%}
   </body>
</html>

이것은 긴 URL을 사용하여 요청을 보낸 다음 짧은 URL을 반환하는 프런트엔드입니다.

출력

Django에서 URL 단축 앱 만들기