Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างแอปย่อ URL ใน Django


ในบทความนี้ เราจะมาดูวิธีการสร้างแอปย่อ URL ใน Django เป็นแอพง่าย ๆ ที่จะแปลง URL ยาวเป็น URL สั้น เราจะบรรลุสิ่งนี้โดยใช้ไลบรารี Python ไม่ใช่ไลบรารีเฉพาะ Django ดังนั้นคุณสามารถใช้โค้ดนี้ในโครงการ Python ใดก็ได้

ขั้นแรก สร้างโปรเจ็กต์ Django และแอพ ทำการตั้งค่าพื้นฐานบางอย่าง เช่น รวม URL ของแอปและรวมแอปใน INSTALLED_APPS ใน settings.py

ตัวอย่าง

ติดตั้ง pyshorteners โมดูล −

pip install pyshorteners

ใน urls.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')

ที่นี่ เราสร้างมุมมองที่มีฟังก์ชันตัวจัดการคำขอสองฟังก์ชัน รับตัวจัดการ จะแสดง 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 แบบสั้น

ผลลัพธ์

สร้างแอปย่อ URL ใน Django