Python Flask Course এর ৫ম পর্বে স্বাগতম।আজকে Flask এ কীভাবে HTTP methods ব্যবহার করবেন তা শিখবো।চলুন শুরু করা যাক।
HTTP methods কী?
আমরা যখন কোনো ওয়েবসাইট ভিজিট করি বা API call করি তখন আমরা সার্ভারে একটি request পাঠাই এবং সার্ভার থেকে response গ্রহণ করি।আমরা কখনো সার্ভার থেকে data পাওয়ার জন্য request পাঠাই আবার কখনো সার্ভারে data পাঠানোর জন্য অথবা data পরিবর্তন করার জন্য।এরকম ভিন্ন ভিন্ন কাজের জন্য ভিন্ন ভিন্ন request methods ব্যবহার করা হয় এগুলোই আসলে HTTP methods
Flask এ যেভাবে methods ব্যবহার করবেন
http method handle করার জন্য Flask এর সাথে request import করতে হবে।
from flask import Flask,request
এখন আমরা একটি route তৈরি করবো।route টি কোন কোন method accept করবে তা ঠিক করার জন্য @app.route decorator এ methods নামের parameter এ একটি list pass করতে হবে যেখানে method এর নামগুলো থাকবে।আপনি যদি এই parameter এ কিছু না দিয়ে আগের মত route তৈরি করেন তাহলে এটি by-default শুধু get method accept করবে।আমি এখন get এবং post method এর জন্য একটি route বানাবো।
@app.route('/',methods=['GET','POST']) def index(): return f'This is {request.method} request'
এখন client কোন method এ request করেছে তা জানার জন্য request.method use করতে হবে।চলুন উপরের কোডটি test করা যাক।
প্রথমে GET method এ request করবো।
Response:
এবার POST method এ
Response:
এখন GET request এবং POST request এর জন্য আলাদা আলাদা কাজ করতে চাইলে if-else ব্যবহার করতে হবে।যেমন:
@app.route('/',methods=['GET','POST']) def index(): if request.method == 'GET': return 'Get request action' elif request.method == 'POST': return 'Post request action'
এভাবে আলাদা আলাদা method এর জন্য আলাদা আলাদা কাজ করতে পারবেন।এখন এই route টি শুধু get এবং post method accept করে।এখানে যদি অন্য method এ request পাঠানো হয় তাহলে এমন দেখাবে:
Full Code:
from flask import Flask,request app = Flask(__name__) @app.route('/',methods=['GET','POST']) def index(): if request.method == 'GET': return 'Get request action'elif request.method == 'POST': return 'Post request action' app.run(debug=True)
আজ এই পর্যন্তই।সবাই ভালো থাকবেন।আল্লাহ হাফেজ।
পরের পর্বে আমরা form data handle করা শিখবো।
বিভিন্ন Tips and Tricks পেতে Join করতে পারেন: t.me/techztricks