Flask অ্যাপ্লিকেশনের জন্য পরিবেশ ভেরিয়েবল (Environment Variables) ব্যবহার করা একটি গুরুত্বপূর্ণ কাজ, যা প্রোডাকশন এবং ডেভেলপমেন্ট পরিবেশের মধ্যে কনফিগারেশন পরিবর্তন করার জন্য সহায়ক। পরিবেশ ভেরিয়েবলগুলি সাধারণত অ্যাপ্লিকেশনের সেটিংস, যেমন ডাটাবেস ইউআরএল, সিক্রেট কী, এবং অন্যান্য সিস্টেম কনফিগারেশন মান নির্ধারণ করতে ব্যবহৃত হয়। Flask-এ পরিবেশ ভেরিয়েবল ব্যবহারের মাধ্যমে কনফিগারেশন ভিন্ন পরিবেশে পরিচালনা করা সহজ হয়।
পরিবেশ ভেরিয়েবল কী?
পরিবেশ ভেরিয়েবল হলো সিস্টেমের ভেতরে স্টোর করা কিছু তথ্য যা অ্যাপ্লিকেশনের চালনার সময় অ্যাক্সেস করা যায়। এটি সাধারণত সার্ভার কনফিগারেশন, ডাটাবেস কনফিগারেশন, API কী ইত্যাদি জন্য ব্যবহার করা হয়।
Flask অ্যাপ্লিকেশনটি বিভিন্ন পরিবেশে চালানোর সময় বিভিন্ন কনফিগারেশন সেট করা হয়, যা পরিবেশ ভেরিয়েবল ব্যবহার করে পরিবর্তন করা যায়।
Flask-এ পরিবেশ ভেরিয়েবল সেট করার পদ্ধতি
১. পরিবেশ ভেরিয়েবল সেট করা (Mac/Linux)
আপনার টার্মিনালে পরিবেশ ভেরিয়েবল সেট করতে নিচের কমান্ড ব্যবহার করুন:
export FLASK_APP=app.py
export FLASK_ENV=development
export SECRET_KEY='আপনার-গোপন-কী'
FLASK_APP: Flask অ্যাপ্লিকেশনটির মূল ফাইল (যেমনapp.py) নির্ধারণ করে।FLASK_ENV: অ্যাপ্লিকেশনের পরিবেশ (যেমনdevelopmentবাproduction) নির্ধারণ করে।SECRET_KEY: Flask অ্যাপ্লিকেশনটির নিরাপত্তার জন্য গোপন কী।
২. পরিবেশ ভেরিয়েবল সেট করা (Windows)
Windows-এ পরিবেশ ভেরিয়েবল সেট করতে নিচের কমান্ড ব্যবহার করুন:
set FLASK_APP=app.py
set FLASK_ENV=development
set SECRET_KEY=আপনার-গোপন-কী
৩. Flask অ্যাপ্লিকেশন চালানো
পরিবেশ ভেরিয়েবল সেট করার পরে Flask অ্যাপ চালানোর জন্য নিচের কমান্ড ব্যবহার করুন:
flask run
এটি অ্যাপ্লিকেশনটি চলমান অবস্থায় রাখবে এবং আপনার পরিবেশ অনুযায়ী কনফিগারেশন অ্যাক্সেস করতে সহায়ক হবে।
Flask অ্যাপ্লিকেশনে পরিবেশ ভেরিয়েবল ব্যবহার করা
Flask অ্যাপ্লিকেশনের মধ্যে পরিবেশ ভেরিয়েবল ব্যবহার করার জন্য os মডিউল ব্যবহার করতে হয়। এটি আপনাকে সিস্টেমের পরিবেশ ভেরিয়েবল অ্যাক্সেস করতে সহায়ক হবে।
উদাহরণ:
import os
from flask import Flask
app = Flask(__name__)
# পরিবেশ ভেরিয়েবল থেকে SECRET_KEY এবং FLASK_ENV অ্যাক্সেস করা
app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'ডিফল্ট-কী') # ডিফল্ট মান দেওয়া যায়
app.config['ENV'] = os.getenv('FLASK_ENV', 'production') # পরিবেশ সেট করা
@app.route("/")
def home():
return f"Flask অ্যাপ্লিকেশন চলছে {app.config['ENV']} পরিবেশে।"
if __name__ == "__main__":
app.run()
এই কোডে:
os.getenv(): এটি পরিবেশ ভেরিয়েবল থেকে মান নিয়ে আসে। যদি ভেরিয়েবলটি না থাকে, তাহলে ডিফল্ট মান প্রদান করা হয়।
.env ফাইল ব্যবহার করে পরিবেশ ভেরিয়েবল সেট করা
Flask অ্যাপ্লিকেশনকে আরও সুবিধাজনক এবং নিরাপদ করতে .env ফাইল ব্যবহার করা যেতে পারে। এটি আপনার পরিবেশ ভেরিয়েবলগুলি ফাইলের মধ্যে সংরক্ষণ করে।
.envফাইল তৈরি করুন:আপনার Flask প্রজেক্টের মূল ডিরেক্টরিতে
.envনামে একটি ফাইল তৈরি করুন এবং সেখানে পরিবেশ ভেরিয়েবলগুলি রাখুন:FLASK_APP=app.py FLASK_ENV=development SECRET_KEY=আপনার-গোপন-কীpython-dotenvপ্যাকেজ ইনস্টল করুন:.envফাইল থেকে ভেরিয়েবল লোড করতেpython-dotenvপ্যাকেজ ইনস্টল করতে হবে:pip install python-dotenvFlask অ্যাপ্লিকেশনে
.envফাইল লোড করা:আপনার
app.pyফাইলে.envফাইলটি লোড করার জন্য নিচের কোড ব্যবহার করুন:from flask import Flask from dotenv import load_dotenv import os # .env ফাইল লোড করা load_dotenv() app = Flask(__name__) app.config['SECRET_KEY'] = os.getenv('SECRET_KEY') app.config['ENV'] = os.getenv('FLASK_ENV', 'production') @app.route("/") def home(): return f"Flask অ্যাপ্লিকেশন চলছে {app.config['ENV']} পরিবেশে।" if __name__ == "__main__": app.run()
এখন .env ফাইল থেকে পরিবেশ ভেরিয়েবল লোড হয়ে Flask অ্যাপ্লিকেশন চালু হবে।
Flask অ্যাপ্লিকেশনের পরিবেশ ভেরিয়েবল ব্যবহারের সুবিধা
- নিরাপত্তা: পরিবেশ ভেরিয়েবল ব্যবহার করার মাধ্যমে সংবেদনশীল তথ্য যেমন সিক্রেট কী, ডাটাবেস ক্রেডেনশিয়ালগুলি কোড থেকে আলাদা থাকে, যা নিরাপত্তা বাড়ায়।
- পরিবেশ অনুযায়ী কনফিগারেশন পরিবর্তন: একই কোডবেসের মাধ্যমে বিভিন্ন পরিবেশে (ডেভেলপমেন্ট, প্রোডাকশন) কাজ করা সহজ হয়।
- টেস্টিং সুবিধা: টেস্টিং বা স্টেজিং পরিবেশের জন্য আলাদা কনফিগারেশন সেট করা যায়।
Flask অ্যাপ্লিকেশনে পরিবেশ ভেরিয়েবল ব্যবহার করা খুবই গুরুত্বপূর্ণ। এটি অ্যাপ্লিকেশনটির নিরাপত্তা, কনফিগারেশন ব্যবস্থাপনা এবং পরিবেশভিত্তিক ডিপ্লয়মেন্টের ক্ষেত্রে সহায়ক। .env ফাইল এবং python-dotenv প্যাকেজের মাধ্যমে আরও সহজ এবং নিরাপদভাবে পরিবেশ ভেরিয়েবল ব্যবস্থাপনা করা যায়।
Read more