এই নিবন্ধে, আমরা দেখব কীভাবে জ্যাঙ্গোতে একটি URL শর্টনার অ্যাপ তৈরি করা যায়। এটি একটি সাধারণ অ্যাপ যা একটি দীর্ঘ URLকে একটি সংক্ষিপ্ত একটিতে রূপান্তর করবে। আমরা পাইথন লাইব্রেরি ব্যবহার করে এটি অর্জন করব, কোনো জ্যাঙ্গো-নির্দিষ্ট লাইব্রেরি নয়, তাই আপনি যেকোন পাইথন প্রকল্পে এই কোডটি ব্যবহার করতে পারেন।
প্রথমত, একটি জ্যাঙ্গো প্রকল্প এবং একটি অ্যাপ তৈরি করুন। অ্যাপের url সহ এবং settings.py-এ INSTALLED_APPS-এ অ্যাপ অন্তর্ভুক্ত করার মতো কিছু মৌলিক সেটিংস করুন।
উদাহরণ
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"), ]
এখানে আমরা ভিউসেটটিকে হোম ইউআরএল-এ ভিউ হিসাবে সেট করেছি।
এখন 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 এবং পোস্ট হ্যান্ডলার রেন্ডার করবে লং ইউআরএল পাবেন এবং আমাদের ফ্রন্টএন্ডকে ছোট ইউআরএল দিয়ে রি-রেন্ডার করবে।
একটি টেমপ্লেট তৈরি করুন৷ অ্যাপের ডিরেক্টরিতে ফোল্ডার এবং 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 প্রদান করবে৷
আউটপুট