মডিউল ১০ : ব্লগ প্রজেক্ট পার্ট ২

আজকে আমরা আমাদের ব্লগ প্রজেক্ট এর পার্ট ২ এর কাজ করবো। আজকে মূলত আমরা রেজিস্ট্রেশন পেজ নিয়ে কাজ করবো সেখানে আমরা django এর বিল্ট ইন যে usercreation ফরম আছে সেটা নিয়ে কাজ করবো। আমাদের মডেল টা দেখতে হবে নিচের মত করে

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class RegistrationForm(UserCreationForm):
    first_name = forms.CharField(widget=forms.TextInput(attrs={'id' : 'required'}))
    last_name = forms.CharField(widget=forms.TextInput(attrs={'id' : 'required'}))

    class Meta:
        model = User
        fields = ['username', 'first_name', 'last_name', 'email']

আর পোস্ট মডেল এ আমাদের যে one to many relationship ছিল সেখানে author মডেল কেটে দিয়ে আমরা সেখানে user মডেল কে বসিয়ে দিবো

from django.db import models
from categories.models import Category
from django.contrib.auth.models import User
# Create your models here.
class Post(models.Model):
    title = models.CharField(max_length=50)
    content = models.TextField()
    category = models.ManyToManyField(Category) # ekta post multiple categorir moddhe thakte pare abar ekta categorir moddhe multiple post thakte pare
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    
    def __str__(self):
        return self.title 

এখন আমরা প্রোফাইল একাউন্ট related সব কাজ আমাদের author অ্যাপ এ করবো তাই প্রোফাইল অ্যাপ টা ডিলিট করে দিলেই হবে আমাদের। আর author views এর মধ্যে রেজিষ্টার ভিউ তৈরি করে নিবো।

def register(request):
    if request.method == 'POST':
        register_form = forms.RegistrationForm(request.POST)
        if register_form.is_valid():
            register_form.save()
            messages.success(request, 'Account Created Successfully')
            return redirect('register')
    
    else:
        register_form = forms.RegistrationForm()
    return render(request, 'register.html', {'form' : register_form, 'type' : 'Register'})

Last updated