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

আসসালামুয়ালাইকুম,

কেমন চলছে আপনার জ্যাঙ্গো শেখা ? আশা করি মাতৃভাষায় জ্যাঙ্গো ফ্রেমওয়ার্ক শিখতে পেরে আপনার বেশ ভালই লাগছে। গত পর্বে আপনি শিখেছিলেন কিভাবে লগিন পেজ বানাতে হয়। আজকে আমরা দেখব কিভাবে আপনি রেজিষ্ট্রেশন পেজ বানাবেন।

সৃতিচারনঃ

লগিন পেজ তৈরী করার সময় আপনি urls.py ( যেখানে settings.py রয়েছে) এ একটি url তৈরী করেছিলেন /login/ নামে যেটা views.py ( যেখানে settings.py রয়েছে) এর user_login নামের একটি ভিউ কে কল করে এবং এই ভিউ এর মধ্যে লগিন করার বাকি কাজগুলো সম্পন্য করেছিলেন । এই কাজটি আপনি আলাদা এপ এর মধ্যেও করতে পারতেন। আজও আমরা ঠিক একই ধারায় রেজিষ্ট্রেশন সম্পন্য করব।

রেজিষ্ট্রেশনঃ

কোন ওয়েবসাইটে রেজিষ্ট্রেশন করার জন্য আমরা website_url/signup এরকম লিঙ্ক এ প্রবেশ করি। সুতরাং urls.py ( যেখানে settings.py রয়েছে) নতুন url তৈরী করি। যেটি views.py এর user_signup কে কল করবে।

banglaidj/urls.py

# banglaidj/urls.py

from django.urls import path, include
from django.contrib import admin
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('signup/', views.user_signup, name='signup'),
    path('login/', views.user_login, name='login'),
    path('logout/', views.user_logout, name='logout'),
]

banglaidj/views.py

#banglaidj/views.py

from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import authenticate, login, logout

def user_signup(request):
    return render(request, 'signup.html')

templates/signup.html

{% extends "base.html" %}

{% block content %}
  <h1>রেজিষ্ট্রেশন</h1>

{% endblock content %}

এখন ব্রাউজারে localhost:8000/signup প্রবেশ করালে শুধু লেখা একটি পেজ দেখতে পাবেন । কিন্তু রেজিষ্টেশন করার কোন ফর্ম নেই।

ধৈর্য ধরুন , এখন আমরা একটা ফর্ম যুক্ত করব। জ্যাঙ্গো আপনার কাজের সুবিধার জন্য একটা রেজিষ্ট্রেশন ফর্ম ক্লাস তৈরী করে রাখছে। ক্লাসটা ইম্পোর্ট করি ।

from django.contrib.auth.forms import UserCreationForm

user_signup ভিউ এর মধ্যে ফর্ম ক্লাসকে  কল করি। এবং টেমপ্লেটে পাঠানোর জন্য render ফাংশনের মধ্য লিখে ফেলিঃ

from django.contrib.auth.forms import UserCreationForm

def user_signup(request):
    form = UserCreationForm()
    return render(request, 'signup.html',{'signup_form':form})

এখন signup.html এর মধ্যে signup_form ভ্যারিয়েবলকে কল করলেই আমরা ফর্মটি দেখতে পারব

{% extends "base.html" %}

{% block content %}
  <h1>রেজিষ্ট্রেশন</h1>

    <form class="form">
    {{ signup_form }}
    </form>

{% endblock content %}

 

UserCreationForm রেজিষ্টেশন ফিল্ডগুলো নিয়ে এসেছে। কিন্তু চেহারার অবস্থা খুব খারাপ । একটি সুন্দর চেহারা দান করিঃ

{% extends 'base.html' %}
{% block content %}
<h1>রেজিষ্ট্রেশন</h1>
<form class="form" method="post" action="/signup/">
    {% csrf_token %}
    {{signup_form.as_p}}
    <input type="submit" value="submit" class="btn btn-primary" />
</form>

{% endblock %}

method ও action নিয়ে ১ম পর্বে আমরা আলচনা করেছি।

Leave a Reply

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