Bottle Python माइक्रोफ्रेमवर्क: API और वेब ऐप के लिए गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Bottle: Python माइक्रोफ्रेमवर्क की पूरी गाइड

Bottle का परिचय

Bottle एक न्यूनतम Python माइक्रोफ्रेमवर्क है जो वेब एप्लिकेशन और REST API बनाने के लिए उपयोग होता है। यह पूरा फ्रेमवर्क एक ही फाइल में 100 KB से भी कम साइज में आता है, जो इसे छोटे प्रोजेक्ट्स, प्रोटोटाइप, एम्बेडेड सिस्टम और माइक्रोसर्विसेज के लिए आदर्श बनाता है। Bottle बिना किसी बाहरी डिपेंडेंसी के एक पूर्ण वेब एप्लिकेशन चलाने के लिए सभी जरूरी कंपोनेंट्स प्रदान करता है।

Bottle की विशेषताएं और लाभ

हल्का और सरल

Bottle को किसी बाहरी डिपेंडेंसी की जरूरत नहीं है और इसे एक कमांड से इंस्टॉल किया जा सकता है। यह फ्रेमवर्क सिर्फ एक फाइल में आता है, जिससे डिप्लॉयमेंट और कोड को समझना आसान हो जाता है।

बिल्ट-इन सुविधाएं

  • डेवलपमेंट के लिए बिल्ट-इन HTTP सर्वर
  • खुद का SimpleTemplate Engine टेम्पलेट सिस्टम
  • प्रोडक्शन डिप्लॉयमेंट के लिए WSGI सपोर्ट
  • रूट पैरामीटर टाइप का ऑटोमैटिक डिटेक्शन
  • JSON, फॉर्म, फाइल और कुकी हैंडलिंग

आर्किटेक्चर की लचीलापन

Bottle डेटाबेस, टेम्पलेट इंजन और WSGI सर्वर के लिए किसी भी Python लाइब्रेरी के साथ काम करता है। इससे इसे मौजूदा सिस्टम में आसानी से इंटीग्रेट किया जा सकता है।

इंस्टॉलेशन और बेसिक सेटअप

Bottle इंस्टॉल करना

pip install bottle

पहला एप्लिकेशन बनाना

app.py नाम की फाइल बनाएं:

from bottle import route, run

@route('/')
def index():
    return "Bottle से नमस्ते!"

@route('/hello/<name>')
def greet(name):
    return f"नमस्ते, {name}!"

if __name__ == "__main__":
    run(host='localhost', port=8080, debug=True)

एप्लिकेशन चलाना

python app.py

एप्लिकेशन http://localhost:8080 पर उपलब्ध होगा।

रूटिंग और रिक्वेस्ट हैंडलिंग

बेसिक रूट्स

from bottle import route, get, post, put, delete

@route('/')
def home():
    return "होम पेज"

@get('/users')
def get_users():
    return "यूजर्स की सूची"

@post('/users')
def create_user():
    return "यूजर बनाया जा रहा है"

@put('/users/<id:int>')
def update_user(id):
    return f"यूजर {id} अपडेट किया जा रहा है"

@delete('/users/<id:int>')
def delete_user(id):
    return f"यूजर {id} हटाया जा रहा है"

रूट पैरामीटर

Bottle विभिन्न प्रकार के पैरामीटर सपोर्ट करता है:

@route('/user/<id:int>')
def user_by_id(id):
    return f"यूजर ID: {id}"

@route('/article/<slug:path>')
def article_by_slug(slug):
    return f"लेख: {slug}"

@route('/price/<amount:float>')
def price(amount):
    return f"कीमत: {amount}"

@route('/profile/<username:re:[a-zA-Z0-9_]+>')
def profile(username):
    return f"प्रोफाइल: {username}"

क्वेरी पैरामीटर हैंडलिंग

from bottle import request

@route('/search')
def search():
    query = request.query.get('q', '')
    category = request.query.get('category', 'all')
    return f"श्रेणी '{category}' में '{query}' की खोज"

रिक्वेस्ट डेटा के साथ काम करना

फॉर्म हैंडलिंग

from bottle import request, post

@post('/submit')
def submit_form():
    name = request.forms.get('name')
    email = request.forms.get('email')
    age = request.forms.get('age', type=int)
    
    return f"डेटा प्राप्त: {name}, {email}, {age}"

JSON के साथ काम करना

from bottle import request, response

@post('/api/data')
def handle_json():
    data = request.json
    
    # डेटा प्रोसेस करें
    result = {
        'status': 'success',
        'received': data,
        'message': 'डेटा सफलतापूर्वक प्राप्त हुआ'
    }
    
    response.content_type = 'application/json'
    return result

अनुशंसाएँ