পোর্টফোলিও ওয়েবসাইট হলো এমন একটি ওয়েবসাইট যা একজন ব্যক্তির কাজ, প্রকল্প, অভিজ্ঞতা এবং যোগাযোগের তথ্য প্রদর্শন করে। এটি সাধারণত একজন ফ্রিল্যান্সার, ডিজাইনার, ডেভেলপার, বা যেকোনো পেশাদারের জন্য নিজের দক্ষতা প্রদর্শনের জন্য ব্যবহৃত হয়।
Python-এর Django বা Flask ফ্রেমওয়ার্ক ব্যবহার করে সহজেই একটি পোর্টফোলিও ওয়েবসাইট তৈরি করা যায়। এখানে Django ব্যবহার করে একটি পোর্টফোলিও ওয়েবসাইট তৈরি করার জন্য একটি গাইড দেয়া হলো।
প্রয়োজনীয়তা
Python: Django ইন্সটল করতে হবে।
Django: Django ইনস্টল করতে টার্মিনালে নিচের কমান্ডটি দিন:
pip install django
পোর্টফোলিও ওয়েবসাইটের ফিচারস
- হোম পেজ: নিজের পরিচয়, অভিজ্ঞতা এবং সংক্ষিপ্ত বায়ো।
- প্রজেক্ট পেজ: সম্পন্ন প্রকল্পগুলোর তালিকা এবং তাদের বিবরণ।
- কাজের অভিজ্ঞতা: শিক্ষাগত যোগ্যতা এবং কাজের অভিজ্ঞতা।
- যোগাযোগ পেজ: যোগাযোগের জন্য ফর্ম ও সোশ্যাল মিডিয়া লিঙ্ক।
ধাপ ১: Django প্রজেক্ট তৈরি করা
প্রথমে টার্মিনালে নিচের কমান্ড চালান, যা আপনার Django প্রজেক্ট তৈরি করবে:
django-admin startproject portfolio_website
cd portfolio_website
ধাপ ২: Django অ্যাপ তৈরি করা
Django অ্যাপ তৈরি করতে নিম্নলিখিত কমান্ড চালান। এটি পোর্টফোলিও ওয়েবসাইটের অ্যাপ হিসেবে কাজ করবে।
python manage.py startapp portfolio
ধাপ ৩: অ্যাপটি প্রজেক্টে যুক্ত করা
প্রজেক্টের settings.py ফাইলে INSTALLED_APPS-এর মধ্যে portfolio অ্যাপটি যুক্ত করুন।
# portfolio_website/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'portfolio', # Portfolio অ্যাপ যুক্ত করা
]
ধাপ ৪: মডেল তৈরি করা
এখানে প্রজেক্ট এবং কাজের অভিজ্ঞতার জন্য মডেল তৈরি করা হবে।
# portfolio/models.py
from django.db import models
class Project(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
image = models.ImageField(upload_to='project_images/')
link = models.URLField(blank=True)
def __str__(self):
return self.title
class Experience(models.Model):
title = models.CharField(max_length=100)
company = models.CharField(max_length=100)
description = models.TextField()
start_date = models.DateField()
end_date = models.DateField(blank=True, null=True)
def __str__(self):
return f"{self.title} at {self.company}"
ধাপ ৫: মাইগ্রেশন ফাইল তৈরি করা এবং ডাটাবেস আপডেট করা
মডেলগুলিকে ডাটাবেসে সেভ করার জন্য মাইগ্রেশন তৈরি করে নিচের কমান্ডগুলো চালান:
python manage.py makemigrations
python manage.py migrate
ধাপ ৬: অ্যাডমিন প্যানেলে মডেল রেজিস্টার করা
অ্যাডমিন প্যানেলে মডেলগুলো ব্যবস্থাপনার জন্য admin.py ফাইলে মডেল রেজিস্টার করুন।
# portfolio/admin.py
from django.contrib import admin
from .models import Project, Experience
admin.site.register(Project)
admin.site.register(Experience)
ধাপ ৭: ভিউ তৈরি করা
এখন views.py ফাইলে ভিউ তৈরি করা হবে যা হোম, প্রজেক্ট এবং অভিজ্ঞতা পৃষ্ঠাগুলির জন্য কাজ করবে।
# portfolio/views.py
from django.shortcuts import render
from .models import Project, Experience
def home(request):
return render(request, 'portfolio/home.html')
def projects(request):
projects = Project.objects.all()
return render(request, 'portfolio/projects.html', {'projects': projects})
def experience(request):
experiences = Experience.objects.all()
return render(request, 'portfolio/experience.html', {'experiences': experiences})
ধাপ ৮: URL রাউটিং সেটআপ করা
প্রতিটি পেজের URL রাউটিং সেটআপ করুন।
# portfolio/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('projects/', views.projects, name='projects'),
path('experience/', views.experience, name='experience'),
]
প্রজেক্টের মূল urls.py ফাইলে portfolio/urls.py যুক্ত করুন।
# portfolio_website/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('portfolio.urls')), # Include portfolio app URLs
]
ধাপ ৯: টেমপ্লেট তৈরি করা
১. templates/portfolio/home.html
<!DOCTYPE html>
<html>
<head>
<title>Home | Portfolio</title>
</head>
<body>
<h1>Welcome to My Portfolio</h1>
<p>Hello! I am a software developer with expertise in Python and Django.</p>
<a href="{% url 'projects' %}">My Projects</a> | <a href="{% url 'experience' %}">My Experience</a>
</body>
</html>
২. templates/portfolio/projects.html
<!DOCTYPE html>
<html>
<head>
<title>Projects | Portfolio</title>
</head>
<body>
<h1>My Projects</h1>
{% for project in projects %}
<div>
<h2>{{ project.title }}</h2>
<p>{{ project.description }}</p>
<img src="{{ project.image.url }}" alt="{{ project.title }}">
{% if project.link %}
<p><a href="{{ project.link }}">View Project</a></p>
{% endif %}
</div>
{% endfor %}
</body>
</html>
৩. templates/portfolio/experience.html
<!DOCTYPE html>
<html>
<head>
<title>Experience | Portfolio</title>
</head>
<body>
<h1>My Experience</h1>
{% for experience in experiences %}
<div>
<h2>{{ experience.title }} at {{ experience.company }}</h2>
<p>{{ experience.description }}</p>
<p>From: {{ experience.start_date }} - To: {{ experience.end_date|default:"Present" }}</p>
</div>
{% endfor %}
</body>
</html>
ধাপ ১০: মিডিয়া ফাইল সেটআপ করা
settings.py ফাইলে মিডিয়া ফাইল সেটআপ করুন:
# portfolio_website/settings.py
import os
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urls.py ফাইলে মিডিয়া ফাইল হ্যান্ডল করার জন্য নিম্নোক্ত কোড যোগ করুন:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... other URL patterns ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
ধাপ ১১: অ্যাডমিন প্যানেলে ডেটা এন্ট্রি করা
এখন python manage.py runserver চালান এবং ব্রাউজারে http://127.0.0.1:8000/admin/ এ গিয়ে প্রজেক্ট এবং অভিজ্ঞতার ডেটা এন্ট্রি করুন।
ধাপ ১২: ওয়েবসাইট চালানো
ওয়েবসাইটটি চালাতে টার্মিনালে কমান্ড দিন:
python manage.py runserver
এরপর ব্রাউজারে http://127.0.0.1:8000/ URL-এ গিয়ে আপনার তৈরি করা পোর্টফোলিও ওয়েবসাইটটি দেখুন।
উপসংহার
এই পোর্টফোলিও ওয়েবসাইটটি Django ফ্রেমওয়ার্ক ব্যবহার করে সহজে তৈরি করা সম্ভব। চাইলে এই ওয়েবসাইটে আরও অনেক ফিচার যেমন ব্লগ পেজ, রিভিউ সেকশন বা আরও বিস্তারিত সেকশন যোগ করা যায়। এটি আপনার কাজ এবং দক্ষতা প্রদর্শনের জন্য একটি কার্যকরী টুল হিসেবে কাজ করবে।
Read more