কম্পিউটার টিউটোরিয়াল

ডজ্যাঙ্গোতে যেকোনো মডেলের ফাইল ডাউনলোডযোগ্য করা

আপনি django-downloadview প্যাকেজ ব্যবহার করে আপনার প্রজেক্টে যে কোনো ফাইল ডাউনলোডযোগ্য করতে পারেন। আপনি ফাইলগুলো সার্ভারে হোস্ট করতে পারেন।

এই আর্টিকেলে, আমরা দেখব কিভাবে আমাদের ডজ্যাঙ্গো প্রজেক্টে একটি ফাইল ডাউনলোডযোগ্য করতে হয়। এটি একটি মজার টপিক এবং আপনি এটি পছন্দ করবেন।

প্রথমে, প্যাকেজ ইনস্টল করুন:

pip install django-downloadview

এখন একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন। urls সেট আপ করুন এবং INSTALLED_APPS-এ অ্যাপ যোগ করা সरीখে কিছু বেসিক কাজ করুন। settings.py-তে MEDIA_ROOT এবং MEDIA_URL সেট আপ করুন।

উদাহরণ

models.py-তে নিচের লাইনগুলো যোগ করুন:

from django.db import models

class Data(models.Model):
    file = models.FileField(upload_to='myfiles/', blank=True)

এখানে, আমরা একটি মডেল তৈরি করেছি যা আপলোড করা ফাইলগুলোর রেফারেন্স সংরক্ষণ করবে। এই মডেলের জন্য কিছু ডামি ডেটা তৈরি করুন।

urls.py-তে:

from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django_downloadview import ObjectDownloadView
from .models import Data

download = ObjectDownloadView.as_view(model=Data, file_field='file')

urlpatterns = [
    path('', views.home, name="home"),
    path('download//', download, name="default"),
]

urlpatterns += static(settings.MEDIA_URL,
                      document_root=settings.MEDIA_ROOT)

আমরা দুটি URL এন্ডপয়েন্ট তৈরি করেছি, একটি হলো ফ্রন্টএন্ড রেন্ডার করার জন্য, এবং অন্যটি হলো যেটিতে model downloadview. ObjectDownloadView রয়েছে। ObjectDownloadView হলো সেই ইনস্ট্যান্স যা যে মডেলের ফাইল আমরা হোস্ট করতে চাই সেটি নেয় এবং আমরা সেই ফিল্ডকে সংজ্ঞায়িত করেছি যেটিতে ফাইল সংরক্ষিত থাকবে।

views.py-তে:

def home(request):
    return render(request, 'home.html')

এখানে আমরা আমাদের ফ্রন্টএন্ড HTML রেন্ডার করেছি।

home.html-তে নিচের কোড যোগ করুন:

<!DOCTYPE html>
<html>
    <head>
        <title>
            TUT
        </title>
    </head>
    <body>
        <h2>HI</h2>
        <a href="https://127.0.0.1:8000/download/1/"> Download</a> // '1' হলো আমাদের 'Data' মডেলের একটি ডামি ডেটার ID
    </body>
</html>

এখানে আমরা একটি ফাইলের রেফারেন্স দিয়েছি जिसे আমরা ডামি ডেটা হিসেবে তৈরি করেছি। '1' হলো আমাদের মডেল ইনস্ট্যান্সের id যেটিতে ফাইল সংরক্ষিত থাকবে।

আপনি লিংকগুলো ডাইনামিক করতে পারেন কিন্তু এখানে, আমরা এটিকে বেসিক লেভেলে রাখতে চাই।

আউটপুট

ডজ্যাঙ্গোতে যেকোনো মডেলের ফাইল ডাউনলোডযোগ্য করা ডজ্যাঙ্গোতে যেকোনো মডেলের ফাইল ডাউনলোডযোগ্য করা

  1. আইফোনে যেকোনো ফাইল ডাউনলোড করার পদ্ধতি

  2. PDF ফিলেবল बनाने বা টেক্সট যোগ করার পদ্ধতি

  3. ফাইল আকার কমাতে কীভাবে করবেন

  4. যেকোনো আইফোন মডেল রিস্টার্ট করার কুইক গাইড: সর্বোত্তম পারফরম্যান্সের জন্য