Flask এর জন্য ডিরেক্টরি স্ট্রাকচার

Flask সেটআপ এবং ইনস্টলেশন - ফ্লাস্ক (Flask) - Web Development

283

Flask অ্যাপ্লিকেশনের ডিরেক্টরি স্ট্রাকচার প্রজেক্টের জটিলতা এবং স্কেল অনুযায়ী পরিবর্তন হতে পারে। একটি ছোট অ্যাপ্লিকেশনের জন্য সহজ স্ট্রাকচার যথেষ্ট, তবে বড় এবং জটিল অ্যাপ্লিকেশনের জন্য একটি সুসংগঠিত এবং স্ট্যান্ডার্ড ডিরেক্টরি স্ট্রাকচার প্রয়োজন হয়।


ছোট Flask অ্যাপের ডিরেক্টরি স্ট্রাকচার

ছোট প্রজেক্টের জন্য, নিচের ডিরেক্টরি স্ট্রাকচার ব্যবহার করা যেতে পারে:

flask_app/
├── app.py
├── requirements.txt
├── templates/
│   └── index.html
├── static/
│   ├── css/
│   ├── js/
│   └── images/

স্ট্রাকচারের উপাদান:

  1. app.py: প্রধান Flask অ্যাপ্লিকেশনের ফাইল।
  2. requirements.txt: প্রজেক্টে ব্যবহৃত প্যাকেজগুলোর তালিকা।
  3. templates/: HTML ফাইলের জন্য ফোল্ডার।
  4. static/: CSS, JavaScript, এবং ইমেজ ফাইল রাখার জন্য ফোল্ডার।

বড় Flask অ্যাপের ডিরেক্টরি স্ট্রাকচার

বড় এবং জটিল অ্যাপ্লিকেশনের জন্য একটি মডুলার স্ট্রাকচার দরকার। নিচে স্ট্রাকচারের উদাহরণ দেওয়া হলো:

flask_app/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   ├── models.py
│   ├── forms.py
│   ├── templates/
│   │   ├── layout.html
│   │   ├── home.html
│   │   └── about.html
│   └── static/
│       ├── css/
│       │   └── style.css
│       ├── js/
│       │   └── script.js
│       └── images/
├── config.py
├── run.py
├── requirements.txt
├── venv/

স্ট্রাকচারের উপাদান:

  1. app/: অ্যাপ্লিকেশনের মূল কোড এখানে থাকে।
    • __init__.py: Flask অ্যাপ ইনিশিয়ালাইজ করার জন্য ফাইল।
    • routes.py: রাউটিং এবং ভিউ ফাংশন রাখার জন্য।
    • models.py: ডাটাবেস মডেল সংক্রান্ত কোড।
    • forms.py: Flask-WTF ফর্ম সম্পর্কিত কোড।
    • templates/: HTML ফাইল রাখার জন্য।
    • static/: CSS, JavaScript, এবং অন্যান্য স্ট্যাটিক ফাইল।
  2. config.py: কনফিগারেশন ফাইল, যেখানে API কী, ডাটাবেস URI ইত্যাদি সংরক্ষণ করা হয়।
  3. run.py: অ্যাপ্লিকেশন চালানোর জন্য ফাইল।

    from app import app
    
    if __name__ == "__main__":
        app.run(debug=True)
    
  4. requirements.txt: Flask এবং অন্যান্য লাইব্রেরির নির্ভরশীলতা।
    উদাহরণ:

    Flask==2.3.3
    Flask-WTF==1.0.1
    Flask-SQLAlchemy==3.0.5
    
  5. venv/: Virtual Environment, যেখানে প্রজেক্টের জন্য নির্ধারিত প্যাকেজগুলো থাকে।

বড় অ্যাপ্লিকেশনের ডিরেক্টরি ইনিশিয়ালাইজ করার জন্য __init__.py

app/__init__.py ফাইলের উদাহরণ:

from flask import Flask

app = Flask(__name__)
app.config.from_object('config')

from app import routes

একটি মডুলার অ্যাপের উদাহরণ

routes.py:

from app import app

@app.route("/")
def home():
    return "স্বাগতম হোমপেজে!"

@app.route("/about")
def about():
    return "এটি একটি বড় Flask অ্যাপ।"

config.py:

import os

class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'আপনার-গোপন-কী'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'

models.py:

from app import app
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)

Flask ডিরেক্টরি স্ট্রাকচার কেন গুরুত্বপূর্ণ?

  • বড় প্রজেক্টের ক্ষেত্রে কোড মেইনটেন করা সহজ।
  • মডুলার ডিজাইন উন্নত করে।
  • কোড রিইউজ্যাবিলিটি এবং রিডেবিলিটি বাড়ায়।
  • স্কেলিং এবং ডিবাগিং সহজ হয়।

Flask ডিরেক্টরি স্ট্রাকচার আপনার প্রজেক্টের জটিলতা এবং স্কেল অনুযায়ী ডিজাইন করা উচিত। ছোট প্রজেক্টের জন্য সরল স্ট্রাকচার যথেষ্ট, তবে বড় প্রজেক্টে মডুলার স্ট্রাকচার অপরিহার্য।

Content added By
Promotion

Are you sure to start over?

Loading...