১১-৪ : মিডিয়া ফাইল হ্যান্ডেল করা

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

শুরুতেই blog_project/settings.py ফাইলে MEDIA_URL এ্যাড করে নিই-

প্রজেক্টের urls.py নিচের মত করে লিখি-

Code:: 11.4.1 blog_project/urls.py

  • ১৪ নং লাইনে settings এর MEDIA_URL কে urlpatterns এর সাথে এ্যাড করা হয়েছে যেন মিডিয়া ফাইলগুলো URL-এর সাহায্যে এক্সেস করতে পারি

আমরা চাচ্ছি Post মডেলের জন্য ImageField রাখতে যেন প্রতিটি পোস্টে একটি করে ইমেজ রাখা যায়-

Code:: 11.4.2 posts/models.py

  • ১০ নং লাইনে image ফিল্ডের জন্য blank = True, null = True করা হয়েছে কেননা Post মডেলে এক্সিস্টিং ডেটা উলোতে কোনো ইমেজ ছিল না, upload_to এ্যাট্রিবিউটে বলা হয়েছে ফিলডটিতে ইমেজ আপলোড করা হলে সেগুলো কোথা সেভ হবে।

মডেলে ImageField ব্যবহার করতে হলে Pillow মডিউল ইন্সটল করে নেয়া জরুরি-

এবার, makemigrations , migrate কমান্ড রান করি ।

পোস্টগুলো আমরা templates/home.html ফাইলে দেখব, templates/home.html ফাইল কিছুটা পরিবর্তন করে নিচের মত করে লিখি-

Code:: 11.4.3 templates/home.html

  • ৪৪ নং লাইনে <img> ট্যাগের সোর্স হিসেবে রিলেভেন্ট পোস্টের ইমেজের URL সেট করা হয়েছে

এবার প্রজেক্ট রান করে নতুন পোস্ট তৈরির সময় ইমেজ আপলোড করলে রিলেভেন্ট পোস্টে ইমেজগুলো দেখতে পাব, সেই সাথে posts/media/uploads ডিরেকটরি খেয়াল করলে দেখতে পাব ইমেজগুলো আপলোড হয়েছে-

Last updated