Sanic Python फ्रेमवर्क: तेज़ एसिंक्रोनस वेब डेवलपमेंट

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

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

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

Sanic का परिचय

Sanic Python के लिए एक आधुनिक एसिंक्रोनस वेब फ्रेमवर्क है, जिसे हाई-परफॉर्मेंस वेब एप्लिकेशन बनाने के लिए डिज़ाइन किया गया है। यह asyncio पर आधारित है और async/await सिंटैक्स के सपोर्ट के कारण हज़ारों एक साथ कनेक्शन को कुशलतापूर्वक हैंडल कर सकता है। Sanic REST API, माइक्रोसर्विसेज, रियल-टाइम एप्लिकेशन और हाई-लोड बैकएंड बनाने के लिए एकदम सही है।

Sanic की मुख्य विशेषताएं

परफॉर्मेंस और आर्किटेक्चर

Sanic को स्पीड पर फोकस करके बनाया गया है। यह फ्रेमवर्क रिक्वेस्ट को एसिंक्रोनस रूप से प्रोसेस करने के लिए asyncio का उपयोग करता है, जिससे Node.js और Go के बराबर परफॉर्मेंस मिलती है। async/await का बिल्ट-इन सपोर्ट कोड को अधिक पढ़ने योग्य और कुशल बनाता है।

फंक्शनल क्षमताएं

  • बॉक्स से बाहर async/await का पूरा सपोर्ट
  • पैरामीटर और मिडलवेयर के साथ रूटिंग
  • WebSocket का बिल्ट-इन सपोर्ट
  • टेम्पलेट सिस्टम और स्टैटिक फाइलों के साथ काम
  • CORS, कुकी और सत्रों का सपोर्ट
  • सरल और स्पष्ट प्रोजेक्ट संरचना
  • API सर्वरों के लिए बेहतरीन स्केलेबिलिटी

इंस्टॉलेशन और शुरुआती सेटअप

बेसिक इंस्टॉलेशन

pip install sanic

अतिरिक्त डिपेंडेंसी

pip install sanic[ext]  # एक्सटेंशन
pip install jinja2 aiofiles python-dotenv

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

from sanic import Sanic
from sanic.response import text

app = Sanic("MyApp")

@app.get("/")
async def index(request):
    return text("Sanic से नमस्ते")

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

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

बेसिक रूट्स

@app.get("/")
async def get_handler(request):
    return text("GET रिक्वेस्ट")

@app.post("/")
async def post_handler(request):
    return text("POST रिक्वेस्ट")

@app.put("/")
async def put_handler(request):
    return text("PUT रिक्वेस्ट")

@app.delete("/")
async def delete_handler(request):
    return text("DELETE रिक्वेस्ट")

एसिंक्रोनस रूट्स

import asyncio

@app.get("/async")
async def async_route(request):
    await asyncio.sleep(1)  # एसिंक्रोनस ऑपरेशन का अनुकरण
    return text("एसिंक्रोनस जवाब")

पैरामीटर और डेटा के साथ काम

रूट पैरामीटर

@app.get("/user/<user_id:int>")
async def get_user(request, user_id):
    return text(f"उपयोगकर्ता ID: {user_id}")

@app.get("/profile/<username:str>")
async def get_profile(request, username):
    return text(f"प्रोफ़ाइल: {username}")

Query-पैरामीटर

@app.get("/search")
async def search(request):
    query = request.args.get("q", "कुछ नहीं")
    limit = request.args.get("limit", "10")
    return text(f"खोज: {query}, सीमा: {limit}")

JSON और फॉर्म को हैंडल करना

from sanic.response import json

@app.post("/api/data")
async def receive_data(request):
    data = request.json
    return json({"received": data})

@app.post("/form")
async def handle_form(request):
    username = request.form.get("username")
    email = request.form.get("email")
    return json({"username": username, "email": email})

रिस्पॉन्स के प्रकार

विभिन्न रिस्पॉन्स फॉर्मेट

from sanic.response import text, json, html, redirect, file

@app.get("/text")
async def text_response(request):
    return text("सादा टेक्स्ट")

@app.get("/json")
async def json_response(request):
    return json({"message": "JSON जवाब"})

@app.get("/html")
async def html_response(request):
    return html("<h1>HTML पेज</h1>")

@app.get("/redirect")
async def redirect_response(request):
    return redirect("/")

@app.get("/file")
async def file_response(request):
    return await file("example.txt")

मिडलवेयर और ब्लूप्रिंट

मिडलवेयर का उपयोग

@app.middleware("request")
async def log_request(request):
    print(f"रिक्वेस्ट: {request.method} {request.path}")

@app.middleware("response")
async def add_headers(request, response):
    response.headers["X-Custom"] = "Sanic"

ब्लूप्रिंट के साथ मॉड्यूलर डिज़ाइन

from sanic import Blueprint

bp = Blueprint("users", url_prefix="/users")

@bp.get("/")
async def user_list(request):
    return json([{"id": 1, "name": "राहुल"}])

app.blueprint(bp)

निष्कर्ष

Sanic Python डेवलपर्स के लिए एक शक्तिशाली और तेज़ विकल्प है जो हाई-परफॉर्मेंस वेब एप्लिकेशन और API बनाना चाहते हैं। इसका एसिंक्रोनस आर्किटेक्चर, सरल सिंटैक्स और समृद्ध फीचर सेट इसे आधुनिक वेब डेवलपमेंट के लिए एक उत्कृष्ट विकल्प बनाते हैं। चाहे आप REST API, माइक्रोसर्विसेज या रियल-टाइम एप्लिकेशन बना रहे हों, Sanic आपको सफल होने के लिए आवश्यक उपकरण और प्रदर्शन प्रदान करता है।

अनुशंसाएँ