Django REST framework documentation
- Django REST Framework दस्तावेज़: शुरुआती के लिए सम्पूर्ण मार्गदर्शन
Django REST Framework (DRF) एक शक्तिशाली और लचीला टूलकिट है जिसका उपयोग Django वेब फ्रेमवर्क के साथ RESTful APIs बनाने के लिए किया जाता है। यह वेब सेवाओं के निर्माण को सरल बनाता है और डेवलपर्स को जल्दी से स्केलेबल और रखरखाव योग्य APIs बनाने में मदद करता है। यह लेख शुरुआती लोगों के लिए DRF का एक व्यापक परिचय है, जो मूल अवधारणाओं, स्थापना, उपयोग और उन्नत सुविधाओं को कवर करता है।
DRF क्या है?
REST (Representational State Transfer) एक सॉफ्टवेयर आर्किटेक्चरल शैली है जो नेटवर्क पर वितरित प्रणालियों के निर्माण के लिए सिद्धांतों का एक सेट प्रदान करती है। RESTful APIs HTTP विधियों (GET, POST, PUT, DELETE) का उपयोग करके संसाधनों तक पहुंचने और हेरफेर करने के लिए एक मानकीकृत दृष्टिकोण प्रदान करते हैं।
Django REST Framework Django के ऊपर एक लेयर बनाता है, जो RESTful APIs के निर्माण के लिए आवश्यक सभी आवश्यक उपकरण और सुविधाएँ प्रदान करता है। इसमें शामिल हैं:
- सीरियलाइज़र : डेटा को विभिन्न प्रारूपों (जैसे JSON, XML) में बदलने के लिए।
- व्यू : HTTP अनुरोधों को संभालने और प्रतिक्रियाएँ उत्पन्न करने के लिए।
- राउटिंग : URL पैटर्न को व्यू से मैप करने के लिए।
- प्रमाणीकरण और अनुमति : API को सुरक्षित करने के लिए।
- स्वचालित API दस्तावेज़ीकरण : आपके API का उपयोग करने के लिए आसान बनाने के लिए।
स्थापना और सेटअप
DRF को स्थापित करने का सबसे आसान तरीका pip पैकेज मैनेजर का उपयोग करना है:
```bash pip install djangorestframework ```
इसके बाद, आपको DRF को अपनी Django परियोजना में जोड़ना होगा। अपनी `settings.py` फ़ाइल में, `INSTALLED_APPS` सूची में `'rest_framework'` जोड़ें:
```python INSTALLED_APPS = [
# ... अन्य ऐप्स ... 'rest_framework',
] ```
DRF को कॉन्फ़िगर करने के लिए आप अपनी `settings.py` फ़ाइल में विभिन्न सेटिंग्स को अनुकूलित कर सकते हैं। कुछ महत्वपूर्ण सेटिंग्स में शामिल हैं:
- `DEFAULT_PERMISSION_CLASSES`: डिफ़ॉल्ट अनुमति वर्ग जो API व्यू के लिए उपयोग किए जाएंगे।
- `DEFAULT_AUTHENTICATION_CLASSES`: डिफ़ॉल्ट प्रमाणीकरण वर्ग जो API व्यू के लिए उपयोग किए जाएंगे।
- `DEFAULT_RENDERER_CLASSES`: डिफ़ॉल्ट रेंडरर वर्ग जो API प्रतिक्रियाओं को उत्पन्न करने के लिए उपयोग किए जाएंगे।
- `DEFAULT_PAGINATION_CLASS`: डिफ़ॉल्ट पेजिंग वर्ग जो API प्रतिक्रियाओं को पेज करने के लिए उपयोग किया जाएगा।
मूल अवधारणाएं
DRF के साथ काम करते समय कुछ मूलभूत अवधारणाओं को समझना महत्वपूर्ण है:
- **सीरियलाइज़र:** सीरियलाइज़र डेटा को Django मॉडल से विभिन्न प्रारूपों (जैसे JSON) में बदलने और इसके विपरीत करने के लिए उपयोग किए जाते हैं। वे डेटा को मान्य करने और डेटा को सुरक्षित रूप से संसाधित करने में भी मदद करते हैं। सीरियलाइज़र उदाहरण
- **व्यू:** व्यू HTTP अनुरोधों को संभालने और प्रतिक्रियाएँ उत्पन्न करने के लिए उपयोग किए जाते हैं। DRF विभिन्न प्रकार के व्यू प्रदान करता है, जिनमें GenericAPIView, APIView, और ViewSets शामिल हैं।
- **राउटिंग:** राउटिंग URL पैटर्न को व्यू से मैप करने के लिए उपयोग किया जाता है। DRF विभिन्न प्रकार के राउटिंग विकल्प प्रदान करता है, जिनमें @api_view डेकोरेटर, URLConf, और SimpleRouter शामिल हैं।
- **प्रमाणीकरण:** प्रमाणीकरण यह सत्यापित करने की प्रक्रिया है कि उपयोगकर्ता कौन है। DRF विभिन्न प्रकार के प्रमाणीकरण विधियों का समर्थन करता है, जिनमें TokenAuthentication, SessionAuthentication, और OAuth2Authentication शामिल हैं।
- **अनुमति:** अनुमति यह नियंत्रित करने की प्रक्रिया है कि उपयोगकर्ता API संसाधनों तक कैसे पहुंच सकते हैं। DRF विभिन्न प्रकार की अनुमति वर्गों का समर्थन करता है, जिनमें IsAuthenticated, IsAdminUser, और PermissionClasses शामिल हैं।
एक साधारण API बनाना
आइए एक साधारण API बनाएं जो एक सूची में आइटम प्रदर्शित करता है।
1. **मॉडल बनाएं:** एक Django मॉडल बनाएं जो आपके API द्वारा प्रतिनिधित्व किए जाने वाले डेटा को परिभाषित करता है। उदाहरण के लिए:
```python
- models.py
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100) description = models.TextField()
```
2. **सीरियलाइज़र बनाएं:** एक सीरियलाइज़र बनाएं जो आपके मॉडल को JSON में बदलता है। उदाहरण के लिए:
```python
- serializers.py
from rest_framework import serializers from .models import Item
class ItemSerializer(serializers.ModelSerializer):
class Meta: model = Item fields = ('id', 'name', 'description')
```
3. **व्यू बनाएं:** एक व्यू बनाएं जो HTTP अनुरोधों को संभालता है और प्रतिक्रियाएँ उत्पन्न करता है। उदाहरण के लिए:
```python
- views.py
from rest_framework.views import APIView from rest_framework.response import Response from .models import Item from .serializers import ItemSerializer
class ItemList(APIView):
def get(self, request): items = Item.objects.all() serializer = ItemSerializer(items, many=True) return Response(serializer.data)
```
4. **URL पैटर्न कॉन्फ़िगर करें:** अपने `urls.py` फ़ाइल में URL पैटर्न कॉन्फ़िगर करें। उदाहरण के लिए:
```python
- urls.py
from django.urls import path from .views import ItemList
urlpatterns = [
path('items/', ItemList.as_view()),
] ```
अब, आप अपने API को ब्राउज़र में या किसी अन्य HTTP क्लाइंट का उपयोग करके एक्सेस कर सकते हैं।
उन्नत सुविधाएँ
DRF कई उन्नत सुविधाएँ प्रदान करता है जो आपको जटिल APIs बनाने में मदद कर सकती हैं। इनमें शामिल हैं:
- **जेनेरिक व्यू:** जेनेरिक व्यू आपको सामान्य API कार्यों के लिए कोड की मात्रा को कम करने की अनुमति देते हैं। जेनेरिक व्यू उदाहरण
- **व्यूसेट:** व्यूसेट जेनेरिक व्यू का संग्रह हैं जो एक विशिष्ट संसाधन के लिए सभी सामान्य कार्यों को प्रदान करते हैं। व्यूसेट उदाहरण
- **ऑटोमेटिक API दस्तावेज़ीकरण:** DRF स्वचालित रूप से आपके API के लिए दस्तावेज़ उत्पन्न कर सकता है, जो आपके API का उपयोग करने के लिए आसान बनाता है। Swagger दस्तावेज़ीकरण
- **पेजिंग:** DRF आपको बड़े डेटासेट को पृष्ठों में विभाजित करने की अनुमति देता है, जो आपके API की प्रदर्शन को बेहतर बनाने में मदद करता है। पेजिंग उदाहरण
- **फ़िल्टरिंग:** DRF आपको अपने API प्रतिक्रियाओं को फ़िल्टर करने की अनुमति देता है, जो आपके ग्राहकों को केवल आवश्यक डेटा प्राप्त करने में मदद करता है। फ़िल्टरिंग उदाहरण
- **सर्चिंग:** DRF आपको अपने API डेटा को खोजने की अनुमति देता है, जो आपके ग्राहकों को विशिष्ट डेटा आइटम खोजने में मदद करता है। सर्चिंग उदाहरण
प्रमाणीकरण और अनुमति
DRF API को सुरक्षित करने के लिए विभिन्न प्रकार के प्रमाणीकरण और अनुमति तंत्र प्रदान करता है।
- **प्रमाणीकरण:** DRF में प्रमाणीकरण के लिए कई विकल्प उपलब्ध हैं, जैसे टोकन प्रमाणीकरण, सत्र प्रमाणीकरण, और OAuth2 प्रमाणीकरण। प्रत्येक विधि की अपनी ताकत और कमजोरियां होती हैं, इसलिए अपनी आवश्यकताओं के लिए सबसे उपयुक्त विधि चुनना महत्वपूर्ण है।
- **अनुमति:** DRF में अनुमति के लिए कई विकल्प उपलब्ध हैं, जैसे `IsAuthenticated`, `IsAdminUser`, और कस्टम अनुमति वर्ग। आप अपने API संसाधनों तक पहुंच को नियंत्रित करने के लिए इन वर्गों का उपयोग कर सकते हैं।
प्रदर्शन अनुकूलन
DRF API की परफॉर्मेंस को बेहतर बनाने के लिए कई तकनीकें उपलब्ध हैं:
- **कैशिंग:** डेटाबेस से बार-बार एक्सेस किए जाने वाले डेटा को कैश करने से आपके API की परफॉर्मेंस में काफी सुधार हो सकता है।
- **डेटाबेस अनुकूलन:** अपने डेटाबेस प्रश्नों को अनुकूलित करने से आपके API की परफॉर्मेंस में भी सुधार हो सकता है।
- **सीरियलाइज़र अनुकूलन:** अपने सीरियलाइज़र को अनुकूलित करने से डेटा को सीरियल करने और डीसीरियलाइज़ करने की गति में सुधार हो सकता है।
- **पेजिंग:** बड़े डेटासेट को पृष्ठों में विभाजित करने से आपके API की परफॉर्मेंस में सुधार हो सकता है।
परीक्षण
DRF API का परीक्षण करना महत्वपूर्ण है ताकि यह सुनिश्चित हो सके कि यह सही ढंग से काम कर रहा है। DRF API का परीक्षण करने के लिए कई उपकरण उपलब्ध हैं, जैसे pytest और Django टेस्ट रनर।
निष्कर्ष
Django REST Framework Django के साथ शक्तिशाली और स्केलेबल RESTful APIs बनाने के लिए एक उत्कृष्ट टूलकिट है। यह लेख DRF के मूल सिद्धांतों, स्थापना, उपयोग और उन्नत सुविधाओं का अवलोकन प्रदान करता है। DRF के साथ, आप आसानी से जटिल APIs बना सकते हैं जो आपके ग्राहकों की आवश्यकताओं को पूरा करते हैं।
अतिरिक्त संसाधन
- Django REST Framework आधिकारिक दस्तावेज़
- Django आधिकारिक दस्तावेज़
- RESTful API डिजाइन सिद्धांत
- HTTP विधियाँ
संबंधित विषय
- Django
- वेब API
- JSON
- XML
- HTTP
- प्रमाणीकरण
- अनुमति
- सीरियलाइज़र
- व्यू
- राउटिंग
- Swagger
- पेजिंग
- फ़िल्टरिंग
- सर्चिंग
- TokenAuthentication
- OAuth2Authentication
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री