আজকে আসো ইউজার যে ব্লগ গুলা তৈরি করেছে সেগুলা তার প্রোফাইল এ যেনো শো করে সেই সাথে ব্লগ গুলা তে যেনো সে এডিট বা ডিলিট করতে পারে।
সেই কাজ টা করার জন্যে ইউজার এর প্রোফাইল ভিউ তে আমরা logged in ইউজার এর করা পোস্ট গুলা কে ফিল্টার করে আনবো।এখানেও আমরা একটা রেস্ট্রিকশন দিবো যে প্রোফাইল পেজে এ কেবল logged in ইউজার ই আসতে পারে সো সেটার জন্যে @login_required decorator ইউজ করবো।
@login_required
def edit_post(request, id):
post = models.Post.objects.get(pk=id)
post_form = forms.PostForm(instance=post)
# print(post.title)
if request.method == 'POST': # user post request koreche
post_form = forms.PostForm(request.POST, instance=post) # user er post request data ekhane capture korlam
if post_form.is_valid(): # post kora data gula amra valid kina check kortechi
post_form.instance.author = request.user
post_form.save() # jodi data valid hoy taile database e save korbo
return redirect('homepage') # sob thik thakle take add author ei url e pathiye dibo
return render(request, 'add_post.html', {'form' : post_form})
@login_required
def delete_post(request, id):
post = models.Post.objects.get(pk=id)
post.delete()
return redirect('homepage')
এখন আমরা ইউজার লগআউট এর কাজ টা করে ফেলতে পারি এখনি। সেটার জন্যে কি করতে হবে মনে আছে তো!!!
ঠিক চিন্তা করছো, জাস্ট লগ আউট ফাংশন টা কল করলেই হয়ে যাবে।