Flask অ্যাপ্লিকেশনে Custom Error Pages তৈরি করা একটি গুরুত্বপূর্ণ বিষয়। এই ফিচারটি ব্যবহারকারীদের একটি উন্নত এবং কাস্টম অভিজ্ঞতা প্রদান করতে সাহায্য করে যখন তারা ভুল URL ইনপুট করে (যেমন 404 এরর) অথবা অ্যাপ্লিকেশনের মধ্যে সার্ভার-সাইড কোনো ত্রুটি ঘটে (যেমন 500 এরর)।
Flask-এ Error Handlers ব্যবহার করে আপনি কাস্টম error pages তৈরি করতে পারেন। চলুন দেখি কিভাবে 404 (Page Not Found) এবং 500 (Internal Server Error) এররগুলোর জন্য কাস্টম পেজ তৈরি করা যায়।
১. Flask-এ Custom Error Pages তৈরি করা
Flask-এ 404 এবং 500 এরর এর জন্য কাস্টম error page তৈরি করার জন্য Flask-এর errorhandler() ডেকোরেটর ব্যবহার করা হয়।
উদাহরণ:
from flask import Flask, render_template
app = Flask(__name__)
# 404 Error - Page Not Found Handler
@app.errorhandler(404)
def page_not_found(error):
return render_template('404.html'), 404
# 500 Error - Internal Server Error Handler
@app.errorhandler(500)
def internal_error(error):
return render_template('500.html'), 500
@app.route('/')
def home():
return 'স্বাগতম হোমপেজে!'
if __name__ == "__main__":
app.run(debug=True)
এখানে:
@app.errorhandler(404): এটি 404 এরর পেইজের জন্য error handler ফাংশন তৈরি করেছে।@app.errorhandler(500): এটি 500 এরর পেইজের জন্য error handler ফাংশন তৈরি করেছে।render_template('404.html'): এটি কাস্টম 404 HTML পেজ লোড করবে।render_template('500.html'): এটি কাস্টম 500 HTML পেজ লোড করবে।
২. Custom Error Pages (HTML)
এখন কাস্টম 404 এবং 500 পেজ তৈরি করা যাক।
404.html (Page Not Found)
templates/404.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 - Page Not Found</title>
</head>
<body>
<h1>404</h1>
<h2>পেজটি খুঁজে পাওয়া যায়নি!</h2>
<p>আপনি যে পেজটি খুঁজছেন তা আমাদের সাইটে নেই। দয়া করে URL আবার চেক করুন অথবা <a href="/">হোম পেজে ফিরে যান</a></p>
</body>
</html>
500.html (Internal Server Error)
templates/500.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>500 - Internal Server Error</title>
</head>
<body>
<h1>500</h1>
<h2>এটি একটি সার্ভার সাইড ত্রুটি।</h2>
<p>দয়া করে কিছু সময় পর আবার চেষ্টা করুন অথবা <a href="/">হোম পেজে ফিরে যান</a></p>
</body>
</html>
৩. Flask Error Handlers এরর কোড কাস্টমাইজেশন
Flask-এ errorhandler() ডেকোরেটর ব্যবহার করে আপনি কাস্টম এরর পেজ তৈরি করতে পারেন। এভাবে, যখন কোনও নির্দিষ্ট HTTP কোডের এরর ঘটে (যেমন 404 বা 500), তখন Flask সেই এররের জন্য কাস্টম টেমপ্লেট রেন্ডার করে।
উদাহরণ:
@app.errorhandler(404)
def page_not_found(error):
return render_template('404.html', error=error), 404
@app.errorhandler(500)
def internal_error(error):
return render_template('500.html', error=error), 500
এখানে, error অবজেক্টটি এরর সম্পর্কে আরো বিস্তারিত তথ্য ধারণ করে, এবং আপনি চাইলে সেটি কাস্টম পেজে পাঠাতে পারেন।
৪. Custom Error Pages জন্য Styling এবং JavaScript
আপনি চাইলে কাস্টম 404 এবং 500 error pages-এর জন্য স্টাইলিং বা JavaScript ফিচারও যোগ করতে পারেন। উদাহরণস্বরূপ, আপনি এগুলিকে আরও ইন্টারঅ্যাকটিভ বা আকর্ষণীয় করতে পারেন।
404 পেজে CSS যোগ করা:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 - Page Not Found</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
background-color: #f8d7da;
color: #721c24;
}
h1 {
font-size: 100px;
}
p {
font-size: 18px;
}
</style>
</head>
<body>
<h1>404</h1>
<h2>পেজটি খুঁজে পাওয়া যায়নি!</h2>
<p>আপনি যে পেজটি খুঁজছেন তা আমাদের সাইটে নেই। দয়া করে URL আবার চেক করুন অথবা <a href="/">হোম পেজে ফিরে যান</a></p>
</body>
</html>
এখানে একটি সিম্পল স্টাইলিং যোগ করা হয়েছে যা 404 পেজটিকে সুন্দরভাবে উপস্থাপন করবে।
৫. Flask-এ অন্যান্য Error Handling
Flask আরও অনেক ধরনের এরর হ্যান্ডলিং সমর্থন করে, যেমন:
- 400 - Bad Request
- 403 - Forbidden
- 405 - Method Not Allowed
- 422 - Unprocessable Entity
আপনি চাইলে এই এররের জন্যও কাস্টম পেজ তৈরি করতে পারেন:
@app.errorhandler(400)
def bad_request(error):
return render_template('400.html'), 400
@app.errorhandler(403)
def forbidden(error):
return render_template('403.html'), 403
Flask-এ Custom Error Pages তৈরি করা খুবই সহজ এবং গুরুত্বপূর্ণ, কারণ এটি ব্যবহারকারীদের একটি ভালো অভিজ্ঞতা প্রদান করে যখন কোনো ত্রুটি ঘটে। 404 এবং 500 এররের জন্য কাস্টম পেজ তৈরি করে আপনি আপনার অ্যাপ্লিকেশনটির ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারেন। errorhandler() ফাংশন ব্যবহার করে Flask অ্যাপ্লিকেশনে কাস্টম error pages সেটআপ করা যায়, যা একটি সহজ এবং কার্যকর পদ্ধতি।
Read more