ในบทความนี้ เราจะมาดูวิธีการสร้างแอปย่อ 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 แบบสั้น
ผลลัพธ์