यदि आपने जानकारी भेजने और प्राप्त करने के लिए डिजिटल उपकरण का उपयोग किया है, तो आपने एपीआई का उपयोग किया है। डेवलपर्स एपीआई बनाते हैं ताकि उपयोगकर्ता अपने अनुप्रयोगों से डेटा के साथ बातचीत कर सकें।
जानकारी साझा करने के लिए REST API बनाना एक सुविधाजनक तरीका है। REST API ने उपकरणों के बीच डेटा साझाकरण को विनियमित करने वाले मानकों को परिभाषित किया है। यह समझने के लिए कि REST API कैसे काम करता है, आप शुरू से एक बना सकते हैं।
आप REST API बनाने के लिए Django REST फ्रेमवर्क का उपयोग कर सकते हैं और डेटाबेस से डेटा प्रदर्शित करने के लिए इसका उपयोग कर सकते हैं।
एक REST API के साथ Django का उपयोग करना
तुम कर सकते हो संरचित डेटा लाने के लिए REST API का उपयोग करें HTTP पर। कई भाषाओं और रूपरेखाओं की तरह, Django आपको अपना स्वयं का एपीआई बनाने और दूसरों का उपभोग करने देता है।
आपके पास निम्न पूर्व-स्थापित भी होना चाहिए:
- पायथन का नवीनतम संस्करण।
- पिप का नवीनतम संस्करण.
- पिपेनव (हालांकि आप चाहें तो इसके बजाय वेनव का उपयोग कर सकते हैं।)
- Django का नवीनतम संस्करण।
एक बार जब आप सभी आवश्यक सॉफ़्टवेयर स्थापित कर लेते हैं, तो आप आरंभ करने के लिए तैयार होते हैं।
1. Django REST फ्रेमवर्क स्थापित करें
Django REST फ्रेमवर्क एक शक्तिशाली टूलकिट है जिसका उपयोग आप वेब एपीआई बनाने और कॉन्फ़िगर करने के लिए कर सकते हैं। इसकी अनुकूलन योग्य विशेषताएँ इसे REST API बनाने के लिए एक लोकप्रिय विकल्प बनाती हैं।
आप निम्न कमांड के साथ Django REST फ्रेमवर्क स्थापित कर सकते हैं:
पिपेनव स्थापित करना djangorestframework
2. एक Django ऐप बनाएं
निम्नलिखित निर्देश बताएंगे कि लोकप्रिय केन्याई खाद्य पदार्थों के नाम और विवरण एकत्र करने के लिए एक खाद्य अनुप्रयोग कैसे बनाया जाए। एपीआई डेटाबेस से अनुरोध प्राप्त करेगा ताकि उपयोगकर्ता उस डेटा के साथ इंटरैक्ट कर सकें।
Django ऐप्स SQLitedatabase से सुसज्जित हैं, इसलिए आपको कोई अन्य डेटाबेस स्थापित करने की आवश्यकता नहीं है।
Django ऐप बनाने के लिए, पहले एक प्रोजेक्ट बनाएं, जिसका नाम है खाना निम्न आदेश के साथ:
django-admin स्टार्टप्रोजेक्ट food
इसके बाद, नामक एक Django ऐप बनाएंkenyafood:
django-admin startapp kenyanfood
3. ऐप प्रोजेक्ट सेटिंग्स को पंजीकृत करें
रजिस्टर करेंkenyafoodapp के तहत परियोजना सेटिंग्स में इंस्टॉल किए गए ऐप्स सरणी। यदि आप इस चरण को छोड़ देते हैं, तो Django ऐप को नहीं पहचान पाएगा। साथ ही, Django REST ढांचे को एक ही सेटिंग में पंजीकृत करें:
# आवेदन परिभाषा
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenyafood',
'rest_framework',
]
4. ऐप URL पंजीकृत करें
पंजीकरण करवाना kenyafood प्रोजेक्ट में ऐप यूआरएल urls.py फ़ाइल जैसा कि नीचे दिखाया गया है:
से django.योगदान आयात व्यवस्थापक
से django.urls आयात पथ, शामिल करें
urlपैटर्न = [
पथ('व्यवस्थापक/', admin.site.urls),
पथ('', शामिल करना('kenyanfood.urls')),
]
5. एपीआई के लिए एक दृश्य बनाएं
ऐप में डमी व्यू बनाएं view.py फ़ाइल, इसलिए ऐप त्रुटियों को नहीं फेंकता है। सबसे पहले, आयात करें जवाब आपत्तिऔर@apiview Django REST फ्रेमवर्क से डेकोरेटर।
जवाब में निष्फल डेटा वापस करने में मदद करता है JSON प्रारूप जबकि @apiview एपीआई प्रदर्शित करता है।
से django.शॉर्टकट आयात प्रदान करना
से rest_framework.response आयात जवाब
से rest_framework.decorators आयात api_view
# यहां अपने विचार बनाएं।
@api_view(['पाना'])
डीईएफ़भोजन प्राप्त करें(अनुरोध):
वापस करना जवाब()
6. ऐप के लिए एक URL पथ बनाएँ
आपके द्वारा बनाए गए API दृश्य के लिए एक URL पथ बनाएँ। यह समापन बिंदु प्रदर्शित करता है kenyafoodआंकड़े।
से django.urls आयात पथ
से. आयात दृश्य
से django.conf आयात समायोजन
urlपैटर्न = [
पथ('', व्यूज.गेटफूड),
पथ('डाक/', व्यूज.पोस्टफूड),
]
7. ऐप के लिए एक मॉडल बनाएं
ऐप के मॉडल क्लास को कहा जाता है खाना। इसे ऐसा दिखना चाहिए:
से django.db आयात मॉडल
# यहां अपने मॉडल बनाएं।
कक्षाखाना(मॉडल। नमूना):
नाम = मॉडल। चरफ़ील्ड (अधिकतम_लम्बाई = 200)
विवरण = मॉडल। चरफ़ील्ड (अधिकतम_लम्बाई = 500)
ऐप में मॉडल को रजिस्टर करें admin.py फ़ाइल जैसा कि नीचे दिखाया गया है:
से django.योगदान आयात व्यवस्थापक
से ।मॉडल आयात खाना
# यहां अपने मॉडल पंजीकृत करें।
व्यवस्थापक।साइट।पंजीकरण करवाना(खाना)
8. प्रवासन करें
अगला, माइग्रेट ऐप में टेबल बनाने के लिए SQLite डेटाबेस। आप निम्न कमांड का उपयोग करके ऐसा कर सकते हैं:
अजगरप्रबंधित करना.pymimigrationkenyafood
इसके बाद, इस आदेश को चलाकर इन माइग्रेशन को लागू करें:
अजगरप्रबंधित करना.pyमाइग्रेट
एक सफल माइग्रेशन इस तरह दिखेगा:
सफल माइग्रेशन का अर्थ है कि डेटाबेस ने इसके लिए तालिकाएँ बना ली हैं kenyafoodअनुप्रयोग।
9. डेटाबेस में डेटा जोड़ें
उपयोग Django व्यवस्थापक जीयूआई डेटाबेस में डेटा दर्ज करने के लिए। Django व्यवस्थापक आपके एप्लिकेशन के डेटा को देखने और प्रबंधित करने के लिए एक शानदार इंटरफ़ेस है।
वैकल्पिक रूप से, आप डेटाबेस में मैन्युअल रूप से डेटा दर्ज करने के लिए कमांड लाइन पर पायथन शेल का उपयोग कर सकते हैं। इस मार्गदर्शिका में, आप Django व्यवस्थापक इंटरफ़ेस का उपयोग करेंगे।
Django व्यवस्थापक सेट अप करने के लिए निम्न आदेश का प्रयोग करें:
अजगरप्रबंधित करना.pycreatesuperuser
संकेत दिए जाने पर, अपना दर्ज करें उपयोगकर्ता नाम, ईमेल और पासवर्ड. फिर आप नीचे दिए गए लिंक का उपयोग करके एडमिन पेज खोल सकते हैं:
एचटीटीपी://127.0.0.1:8000/admin/
आपको लॉगिन पेज दिखाई देगा:
एक बार लॉग इन करने के बाद, आप Django प्रशासन इंटरफ़ेस देखेंगे समूह और उपयोगकर्ताओं नमूना। ये दोनों प्रमाणीकरण के लिए हैं; खाना मॉडल नीचे अनुभाग में है।
आप जोड़ और हटा सकते हैं खाना व्यवस्थापक पृष्ठ से डेटाबेस से आइटम। डेटाबेस में कुछ केन्याई व्यंजनों, जैसे उगली, पिलाउ और चाय को जोड़ें।
अब जब डेटाबेस में डेटा है, तो एपीआई बनाएं
10. मॉडल को क्रमबद्ध करें
धारावाहिक जटिल Django मॉडल को रूपांतरित करें JSON ऑब्जेक्ट्स, जिससे डेटा आसानी से एपीआई पर पढ़ा जा सके। क्रमांकन डेटा को एपीआई पर अधिक पठनीय बनाता है।
नामक ऐप में एक नई फाइल बनाएं serializer.py
से rest_framework आयात धारावाहिक
से ।मॉडल आयात खाना
कक्षाFoodSerializer(सीरियलाइज़र। मॉडलसीरियलाइज़र):
कक्षामेटा:
मॉडल = भोजन
खेत=('नाम','विवरण')
आप आयात करें धारावाहिक मॉड्यूल से rest_framework पैकेज और बनाएँ FoodSerializer वर्ग जो से विरासत में मिला है मॉडलसीरियलाइज़र कक्षा।
अगला, निर्दिष्ट करें खाना वह मॉडल जिसे आप क्रमबद्ध करना चाहते हैं और वे फ़ील्ड जिन्हें आप API में जोड़ना चाहते हैं।
11. व्यू अपडेट करें
इसके बाद, एपीआई व्यू को इसके साथ अपडेट करें serializer और खाना मॉडल।
सबसे पहले, ए को परिभाषित करें पाना डेटाबेस से सभी डेटा को पुनः प्राप्त करने की विधि खाना। ऑब्जेक्ट्स.ऑल () समारोह। फिर डेटा को क्रमबद्ध करें और इसे प्रतिक्रिया के रूप में लौटा दें JSON प्रारूप।
से django.शॉर्टकट आयात प्रदान करना
से rest_framework.response आयात जवाब
से rest_framework.decorators आयात api_view
से ।मॉडल आयात खाना
से .सीरियलाइज़र आयात FoodSerializer
# यहां अपने विचार बनाएं।
@api_view(['पाना'])
डीईएफ़भोजन प्राप्त करें(अनुरोध):
भोजन = भोजन.ऑब्जेक्ट्स.ऑल ()
सीरियलाइज़र = फूडसेरियलाइज़र (भोजन, कई =सत्य)
वापस करना प्रतिक्रिया (serializer.data)
फिर, सर्वर URL लिंक पर नेविगेट करें:
https://127.0.0.1:8000/
आप एपीआई को डेटाबेस से डेटा प्रदर्शित करते देखेंगे:
बधाई हो, आपने एक REST API बना लिया है!
12. पोस्ट विधि के साथ डेटा जोड़ें
परीक्षण करें कि क्या आप डेटाबेस में डेटा जोड़ने के लिए REST API का उपयोग कर सकते हैं।
सबसे पहले, ए को परिभाषित करें डाक दृष्टि में विधि।
@api_view(['डाक'])
डीईएफ़पोस्टफूड(अनुरोध):
सीरियलाइज़र = फूडसेरियलाइज़र (डेटा = अनुरोध। डेटा)
अगरserializer।यह सही है():
serializer।बचाना()
वापस करना प्रतिक्रिया (serializer.data)
फिर, ऐप में एक पथ जोड़ें urls.py एपीआई के लिए एक समापन बिंदु बनाने के लिए डाक कार्यक्षमता।
urlपैटर्न = [
पथ('',विचार.getFood),
पथ('डाक/',विचार पोस्टफूड),
]
अगला, इस URL पर नेविगेट करें:
https://127.0.0.1:8000/post
आप देखेंगे डाक समापन बिंदु। डेटाबेस में डेटा जोड़ें JSON प्रारूप में संतुष्ट अनुभाग और क्लिक करें डाक बटन। उदाहरण के लिए, इस संरचना के साथ एक नया खाद्य पदार्थ जोड़ें:
{ "नाम":"मजीवा माला", "विवरण":"खट्टा दूध" }
आप लाल रंग में प्रदर्शित डेटा देखेंगे JSON प्रारूप।
अब, यदि आप वापस नेविगेट करते हैं पाना endpoint http://127.0.0.1:8000/, खाना देखोगे'मजीवा माला, ' और इसका विवरण जोड़ा गया।
अब आपके पास एक REST API है जो एप्लिकेशन में आइटम प्रदर्शित और जोड़ सकता है। दूसरे के साथ प्रयोग कैसे करें सीआरयूडी तरीके? के साथ काम करना अद्यतन और मिटाना विधियाँ आपके REST API की कार्यक्षमता बढ़ाएँगी।
कैसे Django के साथ एक REST API बनाने के लिए
अब आप Django का उपयोग करके REST API बना सकते हैं। सबसे पहले, एक मॉडल के साथ एक ऐप बनाएं, डेटा को क्रमबद्ध करें और एक व्यू फंक्शन बनाएं। अगला, JSON प्रारूप में डेटा की कल्पना करने के लिए URL समापन बिंदु शामिल करें।
Django REST फ्रेमवर्क के साथ REST API बनाना डेटा साझा करने और अपने उपयोगकर्ताओं को एक शानदार ग्राहक अनुभव देने का एक सुविधाजनक तरीका है।