১১-৬ : ইম্প্লিমেন্টিং কমেন্ট পার্ট ১
এই মডিউলে দেখব কিভাবে পোস্টের জন্য কমেন্ট এ্যাড করা যায়।
প্রথমেই Comment মডেল ক্রিয়েট করে ফেলি-
Code:: 11.6.1 posts/models.py
...
...
...
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')
name = models.CharField(max_length=30)
email = models.EmailField()
body = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"Comments by {self.name}"
মডেলে post নামে ForeignKey ফিল্ড এ্যাড করে Post মডেলের সাথে One to Many রিলেশনশিপ তৈরি করা হয়েছে, রিলেশনশিপটি Comment মডেলে তৈরি করা হয়েছে যেন একটি Post এর জন্য একাধিক Comment অ্যাাড করা যায়।
নতুন মডেল তৈরি করা হয়েছে, অতএব makemigrations, migrate কমান্ড রান করতে হবে
Comment মডেলের জন্য মডেলফর্ম তৈরি করে ফেলি-
Code:: 11.6.2 posts/forms.py
কমেন্ট করার ও কমেন্টস দেখার সুবিধাটি ডিটেইলস পোস্ট সেকশনে রাখতে চাচ্ছি । DetailPostView নিচের মত করে লিখে ফেলি-
Code:: 11.6.3 posts/views.py
post( ) ফাংশনে CommentForm-এ পোস্ট করা ডেটা ডেটাবেজে সেভ করা হয়েছে । get_context_data( ) ফাংশনে CommentForm ও CommentForm এর ডেটা context আকারে রিটার্ন করা হয়েছে।
CommentForm ও CommentForm এর ডেটা দেখানোর জন্য post_details.html ফাইল নিচের মত করে লিখে ফেলি-
Code:: 11.6.3 posts/templates/post_details.html
প্রজেক্ট রান করে ডিটেইল ভিউ তে গেলে পোস্টের জন্য কমেন্ট ও কমেন্ট করার ফর্ম দেখতে পাব-

Last updated