আপনার প্রজেক্টের জন্য প্রাথমিক সেটআপ এবং কাজের ধরণ বুঝতে সাহায্য করতে, আমি Python এবং Flask ব্যবহার করে একটি সাধারণ ওয়েব অ্যাপ্লিকেশন তৈরি করার উদাহরণ দিব। এটি একটি মৌলিক CRUD (Create, Read, Update, Delete) অ্যাপ্লিকেশন হবে, যেখানে আমরা ব্যবহারকারী তথ্য পরিচালনা করবো।
১. প্রয়োজনীয় সফটওয়্যার এবং লাইব্রেরি
প্রথমে নিশ্চিত করুন যে আপনার কম্পিউটারে Python ইনস্টল করা আছে। এরপর প্রয়োজনীয় লাইব্রেরিগুলি ইনস্টল করুন:
pip install Flask Flask-SQLAlchemy
২. প্রকল্পের কাঠামো
নিচের কাঠামো অনুসরণ করুন:
/user_management_app
├── app.py
├── models.py
└── templates/
├── index.html
├── add_user.html
└── edit_user.html
৩. মডেল তৈরি করা
models.py ফাইল তৈরি করুন এবং নিচের কোড লিখুন:
# models.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(100), nullable=False, unique=True)
def __repr__(self):
return f'<User {self.name}>'
৪. Flask অ্যাপ তৈরি করা
app.py ফাইল তৈরি করুন এবং নিচের কোড লিখুন:
# app.py
from flask import Flask, render_template, request, redirect, url_for
from models import db, User
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
with app.app_context():
db.create_all()
@app.route('/')
def index():
users = User.query.all()
return render_template('index.html', users=users)
@app.route('/add', methods=['GET', 'POST'])
def add_user():
if request.method == 'POST':
name = request.form['name']
email = request.form['email']
new_user = User(name=name, email=email)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('index'))
return render_template('add_user.html')
@app.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit_user(id):
user = User.query.get_or_404(id)
if request.method == 'POST':
user.name = request.form['name']
user.email = request.form['email']
db.session.commit()
return redirect(url_for('index'))
return render_template('edit_user.html', user=user)
@app.route('/delete/<int:id>')
def delete_user(id):
user = User.query.get_or_404(id)
db.session.delete(user)
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
৫. HTML টেমপ্লেট তৈরি করা
templates/index.html তৈরি করুন এবং নিচের কোড লিখুন:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>User Management</title>
</head>
<body>
<h1>User Management</h1>
<a href="/add">Add User</a>
<ul>
{% for user in users %}
<li>
{{ user.name }} - {{ user.email }}
<a href="/edit/{{ user.id }}">Edit</a>
<a href="/delete/{{ user.id }}">Delete</a>
</li>
{% endfor %}
</ul>
</body>
</html>
templates/add_user.html তৈরি করুন এবং নিচের কোড লিখুন:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add User</title>
</head>
<body>
<h1>Add User</h1>
<form method="post">
<label for="name">Name:</label>
<input type="text" name="name" required>
<br>
<label for="email">Email:</label>
<input type="email" name="email" required>
<br>
<button type="submit">Add</button>
</form>
<a href="/">Back to list</a>
</body>
</html>
templates/edit_user.html তৈরি করুন এবং নিচের কোড লিখুন:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Edit User</title>
</head>
<body>
<h1>Edit User</h1>
<form method="post">
<label for="name">Name:</label>
<input type="text" name="name" value="{{ user.name }}" required>
<br>
<label for="email">Email:</label>
<input type="email" name="email" value="{{ user.email }}" required>
<br>
<button type="submit">Update</button>
</form>
<a href="/">Back to list</a>
</body>
</html>
৬. অ্যাপ চালানো
কমান্ড লাইন থেকে নিচের কমান্ডটি চালিয়ে অ্যাপ্লিকেশনটি শুরু করুন:
python app.py
৭. কাজের ধরণ
- তথ্য যোগ করুন: "Add User" লিঙ্কে ক্লিক করে নতুন ব্যবহারকারী তথ্য যোগ করুন।
- তথ্য সম্পাদনা করুন: তালিকায় থাকা ব্যবহারকারীর তথ্য সম্পাদন করতে "Edit" লিঙ্কে ক্লিক করুন।
- তথ্য মুছুন: তালিকায় থাকা ব্যবহারকারী তথ্য মুছতে "Delete" লিঙ্কে ক্লিক করুন।
উপসংহার
এই নির্দেশিকাগুলি অনুসরণ করে, আপনি Python এবং Flask ব্যবহার করে একটি মৌলিক CRUD অ্যাপ্লিকেশন তৈরি করতে পারবেন। এটি আপনার প্রাথমিক সেটআপ এবং কাজের ধরণ বোঝার জন্য একটি ভাল উদাহরণ।
Read more