Skill

অ্যাপ্লিকেশন কনফিগারেশন সেটিংস

Flask এর বেসিক কনফিগারেশন - ফ্লাস্ক (Flask) - Web Development

263

Flask অ্যাপ্লিকেশনের কনফিগারেশন সেটিংস অ্যাপের কার্যকারিতা, ডিবাগিং, সিকিউরিটি এবং পরিবেশভিত্তিক পরিচালনা নিশ্চিত করে। Flask কনফিগারেশন সেটিংস কাস্টমাইজ করা যায় Python ফাইল, পরিবেশ ভেরিয়েবল, অথবা রানটাইম কোড ব্যবহার করে।


কনফিগারেশন সেট করার পদ্ধতি

১. Python ফাইল ব্যবহার করে

Flask অ্যাপ্লিকেশনকে Python ফাইলের মাধ্যমে কনফিগারেশন প্রদান করা যায়। সাধারণত, একটি config.py ফাইল ব্যবহার করা হয়।

উদাহরণ:

class Config:
    DEBUG = False
    TESTING = False
    SECRET_KEY = 'আপনার-গোপন-কী'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

Flask অ্যাপ-এ কনফিগারেশন লোড:

from flask import Flask
from config import Config

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

২. পরিবেশ ভেরিয়েবল ব্যবহার করে

কিছু কনফিগারেশন পরিবেশ ভেরিয়েবলের মাধ্যমে সেট করা যায়। এটি প্রোডাকশন পরিবেশের জন্য খুবই কার্যকর।

উদাহরণ:

export FLASK_ENV=development
export SECRET_KEY="আপনার-গোপন-কী"

Flask অ্যাপ-এ লোড:

import os

app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'ডিফল্ট-গোপন-কী')

৩. রানটাইম সেটিংস

রানটাইমে সরাসরি Flask অ্যাপ্লিকেশনের কনফিগারেশন সেট করা যায়।

উদাহরণ:

app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///runtime.db'

Flask এর প্রধান কনফিগারেশন সেটিংস

Flask বিভিন্ন গুরুত্বপূর্ণ কনফিগারেশন সেটিংস সরবরাহ করে। এখানে প্রধান কয়েকটি উল্লেখ করা হলো:

কনফিগারেশন সেটিংসঅর্থ
DEBUGডিবাগ মোড সক্রিয় করে, যাতে ত্রুটি ডিবাগিং সহজ হয়।
TESTINGটেস্টিং মোড চালু করে। টেস্ট কেস রান করার সময় এটি ব্যবহার হয়।
SECRET_KEYক্রিপ্টোগ্রাফিক ফিচারের জন্য গোপন কী, যেমন সেশন বা ফর্ম সিকিউরিটি।
SESSION_COOKIE_NAMEসেশনের জন্য ব্যবহৃত কুকির নাম নির্ধারণ করে।
SQLALCHEMY_DATABASE_URIডাটাবেস URI সংজ্ঞায়িত করে।
SQLALCHEMY_TRACK_MODIFICATIONSডাটাবেস পরিবর্তনের ট্র্যাকিং সক্রিয় বা নিষ্ক্রিয় করে।
JSONIFY_PRETTYPRINT_REGULARJSON রেসপন্স সুন্দরভাবে ফরম্যাট করে।
MAX_CONTENT_LENGTHরিকোয়েস্ট বডির সর্বাধিক আকার সীমিত করে।
SERVER_NAMEডিফল্ট সার্ভার হোস্ট এবং পোর্ট নির্ধারণ করে।

মাল্টি-এনভায়রনমেন্ট কনফিগারেশন

১. ডেভেলপমেন্ট কনফিগারেশন

class DevelopmentConfig:
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///dev.db'
    SECRET_KEY = 'ডেভেলপমেন্ট-গোপন-কী'

২. প্রোডাকশন কনফিগারেশন

class ProductionConfig:
    DEBUG = False
    SQLALCHEMY_DATABASE_URI = 'mysql://user:password@localhost/prod_db'
    SECRET_KEY = 'প্রোডাকশন-গোপন-কী'

৩. অ্যাপ্লিকেশনে পরিবেশ অনুযায়ী লোড

import os

if os.environ.get('FLASK_ENV') == 'development':
    app.config.from_object('config.DevelopmentConfig')
else:
    app.config.from_object('config.ProductionConfig')

ডিফল্ট কনফিগারেশন দেখা

Flask অ্যাপ্লিকেশন চালু করার পরে, ডিফল্ট কনফিগারেশন দেখতে পারেন:

print(app.config)

কাস্টম কনফিগারেশন ভেরিয়েবল

আপনার নিজস্ব কনফিগারেশন ভেরিয়েবল সংজ্ঞায়িত করতে পারেন। উদাহরণস্বরূপ:

class Config:
    CUSTOM_VARIABLE = "এটি একটি কাস্টম কনফিগারেশন"

অ্যাপ্লিকেশন থেকে অ্যাক্সেস করুন:

custom_value = app.config['CUSTOM_VARIABLE']
print(custom_value)

Flask অ্যাপ্লিকেশন কনফিগারেশন ব্যবস্থাপনার সুবিধা

  1. পরিবেশ অনুযায়ী পরিচালনা: ডেভেলপমেন্ট, টেস্টিং, এবং প্রোডাকশন পরিবেশ আলাদা করা সহজ।
  2. নিরাপত্তা: সংবেদনশীল তথ্য, যেমন API কী এবং সিক্রেট কী নিরাপদে সংরক্ষণ করা যায়।
  3. ডিবাগিং সহজ: ডেভেলপমেন্ট কনফিগারেশনের মাধ্যমে কোড ডিবাগ করা সহজ।
  4. রিইউজ্যাবিলিটি: কনফিগারেশন ফাইল ব্যবহারের মাধ্যমে বিভিন্ন অ্যাপ্লিকেশনে একই সেটিংস পুনরায় ব্যবহার করা যায়।

Flask কনফিগারেশন সেটিংস সঠিকভাবে পরিচালনা করলে অ্যাপ্লিকেশনের কার্যকারিতা এবং নিরাপত্তা উন্নত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...