বাংলায় জ্যাঙ্গো

গত পর্বে আমরা আমাদের ব্লগের জন্য কাঠামো তৈরী করেছি। আজ আমরা দেখব কিভাবে সাইটের পরিচালক এই কাঠামো ব্যাবহার করে নতুন নতুন পণ্য/ ব্লগ পোষ্ট করতে পারে। প্রথমে আমাদের লোকাল সার্ভার চালু করি।

python manage.py runserver

এখন banglaidj/urls.py ফাইলটি খুললে দেখতে পাবেন

urlpatterns = [
 path('admin/', admin.site.urls),
]

জ্যাঙ্গো আমাদেরকে একটি এডমিন পাতা উপহার দিয়েছে যেখানে localhost:8000/admin এই ঠিকানার মাধ্যমে প্রবেশ করা
যাবে। আমাদের এড্রেস বারে ঠিকানাটি প্রবেশ করালে নিচের মত পাতা দেখতে পাবেন।

এখানে পরিচালকের Username, Password দিতে বলে। নতুন পরিচালক  (Django যাকে superuser বলে থাকে) তৈরি করতে হলে আমাদের টার্মিনালের সার্ভার বন্ধ করে (Ctrl+C) নিচের কমান্ড প্রবেশ করায়ঃ

python manage.py createsuperuser

আপনাকে Username, Email, Password দিতে বলবে। Password সর্বনিম্ন ৮ অক্ষর বিশিষ্ঠ হতে হবে। Superuser created successfully. লেখাটি দেখতে পেলে পুনরায় আপনার সার্ভার চালু করুন। ব্রাউজারে ফিরে গিয়ে Username, Password প্রবেশ করিয়ে লগইন করি।

আপনার সামনে নতুন পাতা উপস্থিত হয়েছে। এখানে Authentication and Authorization অংশে আপনি নতুন পরিচালক এবং তাদের গ্রুপ যোগ করতে পারবেন। কিন্তু আমরা যে ব্লগ কাঠামো তৈরি করলাম সেটা ব্যাবহারের কোন স্থান তো এখানে নেই। আসলে জ্যাঙ্গো আমাদেরকে যে এডমিন এপ উপহার দিয়েছে তাকে বলা হয়নি যে আমাদের Page নামে একটি কাঠামো রয়েছে তুমি আমাকে সেটা ব্যাবহার করতে দাও।

আমাদের “blog_post”  App এর মধ্যে admin.py নামে একটি ফাইল আছে। জ্যাঙ্গো এডমিন এপ এর সাথে সকল প্রকার যোগাযোগ আমরা এই ফাইলে মাধ্যমে করব। আমাদের models.py ফাইলের Post ক্লাসটি admin.py ফাইলের মধ্যে Import করি। উভয় ফাইল একই ডিরেক্টরিতে থাকায় আমরা এভাবে লিখতে পারিঃ

from .models import Post

উল্ল্যেখ্য, models.py যদি অন্য আরেকটি ডিরেক্টরি যেমন boltu এর মধ্যে থাকত, তাহলে আমরা লিখতাম
from boltu.models import ……
আমাদের admin.py ফাইলে আগে থেকেই from django.contrib import admin আছে। আমরা এই admin কে আমাদের Page ক্লাস কে রেজিস্ট্রেশন করে নিতে বলব।

admin.site.register(Post)

এখন আপনার এডমিন পেজে BLOG_POST নামে একটি অংশ যুক্ত হয়েছে যার নিচে আছে আপনার মডেলের নাম Posts ।
এই পোষ্টের মধ্যে প্রবেশ করে আপনি নতুন নতুন ব্লগ পোষ্ট যুক্ত করতে পারবেন। তো, মনের খুশিতে ব্লগ পোষ্ট যুক্ত করতে থাকুন

আপনি পোষ্ট করার পর নিচের অবস্থা দেখতে পাবেন।

Post Object এর স্থানে আমাদের পোষ্ট এর টাইটেল দেখতে পারলে খুব চমৎকার হত। আমাদের Post ক্লাসে একটি রিটার্ন ম্যাথড যোগ করে আমরা কাজটি করতে পারি। __str__(self) ম্যাথডটি আমাদের কাজটি করে দেবে । সুতরাং আমাদের মডেলটি হবে ,

class Post(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()

    def __str__(self):
        return self.title

এখন আমাদের এডমিন পেজে পোষ্টের টাইটেল অনুসারে লিস্ট দেখাবে।

আপনার পোষ্ট কিন্তু এখন শুধু আপনার সাইটের পরিচালকেরা দেখতে পারবে। কিন্তু সকল মানুষকে আপনি কিভাবে দেখাবেন ?  আগামী পর্বে আমরা দেখব কিভাবে আপনার তৈরি করা এই সব পোষ্ট কিভাবে সকলকে দেখাবেন।

ততক্ষণে আপনি আরেকটি মডেল ক্লাস তৈরি করে ফেলুন Student নামে যেখানে আপনি Student এর নাম, রোল নম্বর, ক্লাস ইত্যাদি রাখবেন এবং আপনার Admin panel থেকে আপনার সকল বন্ধুর নামে নতুন নতুন Student তৈরি করুন ।

Leave a Reply

Your email address will not be published. Required fields are marked *