Author ও Profile মডেলের জন্য যেসব কাজ করেছি, এই মডিউলে অনুরুপ কাজগুলো Category ও Post মডেলের জন্যেও করে ফেলি।
শুরুতেই categories এ্যাপে forms.py ফাইল ক্রিয়েট করে Category মডেলের জন্য মডেল-ফর্ম তৈরি করি-
Code:: 7.7.1
categories\forms.py
from django import forms
from .models import Category
class CategoryForm(forms.ModelForm):
class Meta:
model = Category
fields = '__all__'
মডেল-ফর্ম CategoryForm ম্যানেজ করার জন্য view ফাংশন add_category লিখে ফেলি-
Code:: 7.7.2
categories\views.py
from django.shortcuts import render, redirect
from . import forms
# Create your views here.
def add_category(request):
if request.method == 'POST': # if user click submit button
category_form = forms.CategoryForm(request.POST)
if category_form.is_valid():
category_form.save()
return redirect('add_category')
else: # user normally website e gele blank form pabe
category_form = forms.CategoryForm()
return render(request, 'add_category.html', {'form' : category_form})
categories এ্যাপে templates ফোল্ডার ক্রিয়েট করে add_category.html ফাইলটি ক্রিয়েট করে ফেলি -
এডমিন সাইটে গেলে দেখতে পাব ফর্মে ইনপুট দেয়া Category টি ডেটাবেজে সেভ হয়েছে-
এবার posts এ্যাপে forms.py ফাইল ক্রিয়েট করে Post মডেলের জন্য মডেল-ফর্ম তৈরি করি-
Code:: 7.7.4
posts\forms.py
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = '__all__'
মডেল-ফর্ম PostForm ম্যানেজ করার জন্য view ফাংশন add_post লিখে ফেলি-
Code:: 7.7.5
posts\views.py
from django.shortcuts import render, redirect
from . import forms
from . import models
# Create your views here.
def add_post(request):
if request.method == 'POST': # user post request koreche
post_form = forms.PostForm(request.POST)
if post_form.is_valid():
post_form.save()
return redirect('add_post')
else: # user normally website e gele blank form pabe
post_form = forms.PostForm()
return render(request, 'add_post.html', {'form' : post_form})
posts এ্যাপে templates ফোল্ডার ক্রিয়েট করে add_post.html ফাইলটি ক্রিয়েট করে ফেলি -