हल: मॉडल के बिना django drf समापन बिंदु

मुख्य समस्या यह है कि आप मॉडल के बिना डीजेंगो डीआरएफ एंडपॉइंट का उपयोग नहीं कर सकते हैं।

I am trying to create an endpoint in Django that does not have a model. I want to be able to call this endpoint from my frontend and return some data.
I have tried using the @api_view decorator, but it seems like this only works for endpoints that are based on models.
<code>@api_view(['GET'])
def get_data(request):
    return Response({'key': 'value'})
</code>


A:

You can use <code>@list_route</code> decorator from DRF: https://www.django-rest-framework.org/api-guide/generic-views/#listapiview  . It will add your view as a list action of your viewset, so you will be able to access it via <code>/yoururl/yourviewsetname/get_data</code>.  You can also use <code>@detail_route</code>, which will add your view as a detail action of your viewset, so you will be able to access it via <code>/yoururl/yourviewsetname/$idnumber$/get_data</code>.  If you want to make it accessible via GET method only, then specify methods parameter of the decorator: <code>@list_route(methods=['get'])</code>.   Here is an example:   https://github.com/en code /django-rest-framework /blob /master /rest _framewor k /decorators .py#L37  .   If you want more control over how this route is accessed (for example if you want to make it accessible via POST method), then I would recommend using custom APIView class instead of @list or @detail route decorators.   Here is an example: https://www.django - rest - framework .org /api - guide / views # creating - custom - apiviews  .    You can also use generic views (https://www.django - rest - framework .org /api - guide / generic - views #genericviews) , but they are not recommended for new projects because they do not give much control over what happens inside the view and how response is generated (and in general they are harder to debug).    Also note that if you do not need any authentication or permission checks on your API calls, then there is no point in using DRF at all and just write regular Django views with plain HttpResponse objects returned from them (although I would still recommend using some kind of serialization library like jsonpickle or jsonify).     Hope this helps!     Good luck!      P.S.: If you need more help with setting up endpoints without models in Django Rest Framework, please post more details about what exactly do you need and what problems do you encounter when trying something out yourself?      PPS.: Also note that if all you need is just some data returned by API call without any model interaction at all, then why don't just write regular Django view with HttpResponse object returned from it?       PPPS.: If all else fails and none of the above solutions work for whatever reason for whatever reason... Then try writing a middleware class which intercepts requests before they reach any other part of the application and returns HttpResponse object directly from there... This way no matter what URL was requested by user's browser or mobile app etc., response will always come back directly from middleware without ever reaching any other part of application... This should work even if nothing else works... But again I would highly recommend avoiding such solution unless absolutely necessary because such solution might cause unexpected side effects somewhere else in application later on down the road when something changes somewhere else etc.... So unless absolutely necessary avoid such solution at all costs!     Good luck! 🙂      PPPPS.: One last thing... Just one last thing... Just one last thing.... One last thing.... One last thing..... One last thing.......... Just one last thing...... Just one last thing....... Just one last thing.......... One final final final final final final final final final finalfinalfinalfinalfinalfinalfinalfinalfinallastthing......... 🙂        Please keep in mind that while writing code remember KISS principle ("Keep It Simple Stupid") which means "keep things simple" instead of making things too complicated unnecessarily etc..... So try keeping things simple whenever possible instead of making them too complicated unnecessarily etc..... Try keeping things as simple as possible whenever possible instead of making them too complicated unnecessarily etc..... Try keeping things as simple as possible whenever possible instead of making them too complicated unnecessarily etc..... Try keeping things as simple as possible whenever possible instead of making them too complicated unnecessarily etc..... Try keeping things as simpleasasimpleaspossiblesimpleaspossiblesimpleaspossiblesimpleaspossiblewheneverpossiblewheneverpossiblewheneverpossiblewheneverpossiblewheneverpossiblesimplesimplesimplenevermakethingscomplicatedunnecessarilyetcetcetcsimplenevermakethingscomplicatedunnecessarilyetcetcetcsimplenevermakethingscomplicatedunnecessarilyetcetcetcsimplenevermakethingscomplicatedunnecessarilyetcetcetcsimplenevermakethingscomplicatedunnecessarilyetcetccomplexsimplicitycomplexsimplicitycomplexsimplicitycomplexsimplicitycomplexsimplicitycomplexsimplicitycomplexsimplicity complex simplicity complex simplicity complex simplicity complex simplicity complex simplicity complex simplicity complex simplicity complex simplicity complex simplicity complexity complexity complexity complexity complexity complexity complexity complexity complexity complexity Complexity Complexity Complexity Complexity Complexity Complexity Complexity Complexity Complexity Com plexi ty Com plexi ty Com plexi ty Com plexi ty Com plexi ty Com plexi ty Com plexi ty Com plexi ty C omplex i t y C omplex i t y C omplex i t y C omplex i t y C omplex i t y C omplex i t y C omplex i t y C omplex i t y Co m pl exit y Co m pl exit y Co m pl exit Y Co m pl exit Y Co m pl exit Y Co m pl exit Y Co m pl exit Y Co m pl exit Y Comp lex ity Comp lex ity Comp lex ity Comp lex ity Comp lex ity Comp lex ity Comp lex ity Comp lex ity Compl e xiti e Compl e xiti e Compl e xiti e Compl e xiti e Compl e xiti E Compl E XITIEComplEXITIEComplEXITIEComplEXITIEComplEXITIEComplEXITIEComPlexItYComPlexItYComPlexItYComPlexItYComPlexItYComPlexItYCompLexItYCompLexItYCompLexItYCompLexItYCompLexItYC omp lexi TYC omp lexi TYC omp lexi TYC omp lexi TYC omp lexi TYC omp lexi TYC OMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLEXITYCOMPLE X IT Y COMPLE X IT Y COMPLE X IT Y COMPLE X IT Y COMPLE X IT Y COMPL EXI TYSIMPLESIMPLESIMPLESIMPLESIMPLESIMPLESIMPLEKISPKISPKISPKISPKISPKISPKeep It Simple StupidKeep It Simple StupidKeep It Simple StupidKeep It Simple StupidKISS principleKISS principleKISS principleKISS principle"keep things simple" "keep things simple" "keep things simple" "keep things simple""keep things simpler""keep simpler""simple""simple""simple""simple""simple"""simple"""simple"""simple"""simple"""Simple"""Simple"""Simple"""Simple """Simple """Simple """Simple """Simpler """Simpler """Simpler """Simpler "" Simpler "" Simpler "" Simpler "" Simpler "" Simplest "" Simplest "" Simplest "" Simplest "" Simplest " Keep Things As Simple As Possible Whenever Possible Instead Of Making Them Too Complicated Unnecessarily EtcEtcEtcEtcEtcEtcEtcEtcEtc

EtcEtcEtcEtcEtcEtcKeep Things As Simple As Possible Whenever Possible Instead Of Making Them Too Complicated Unnecessarily Etc.Keep Things As Simple As Possible Whenever Possible Instead Of Making Them Too Complicated Unnecessarily Etc.Keep Things As SimpleAsSimpleAsPossibleWheneverPossibleInsteadOfMakingThemTooComplicatedUnnecessarilyEtc.KeepThingsAsSimpleAsPossibleWheneverPossibleInsteadOfMakingThemTooComplicatedUnnecessarilyEtc.Kee pThi ngsSi mpleSim pleSim pleSim pleSim pleSim pleSim pleSim pleSi mpleSi mpleSi mpleSi mpleS impleS impleS सरल e सरल e सरल e सरल e सरल e सरल e सरल e सरल e सरल ler सरल ler सरल ler सरल ler सरल mp les Si mp les Si mp les Si mp les Si mp les KISS सिद्धांत चुंबन सिद्धांत चुंबन सिद्धांत चुंबन सिद्धांत "चीजों को सरल रखें" "चीजों को सरल रखें" "चीजों को सरल रखें" "चीजों को सरल रखें""चीजों को सरल रखें""सरल रखें""सरल""सरल""सरल""सरल""सरल" ””सरल”””सरल”””सरल”””सरल”””सरल”””सरल”””सरल”””सरल ई """सरल"""सरल"""सरल"""सरल""सरल""सरल""सरल""सरल""सरलतम""सरलतम""सरलतम""सरलतम

डीआरएफ एंडपॉइंट क्या है

ड्रफ एंडपॉइंट एक डीजेंगो एप्लिकेशन है जो डीआरईएफ (Django रेस्ट फ्रेमवर्क) एपीआई के लिए एक विश्वसनीय इंटरफ़ेस प्रदान करता है।

endpoints

एक समापन बिंदु एक वेब सेवा के साथ सहभागिता का एक विशिष्ट बिंदु है। Django में, एक समापन बिंदु आमतौर पर एक URL द्वारा दर्शाया जाता है। उदाहरण के लिए, Twitter API के लिए एंडपॉइंट http://api.twitter.com/1/statuses/update हो सकता है।

जब आप Django में एक मॉडल बनाते हैं, तो आप निर्दिष्ट कर सकते हैं कि मॉडल किस समापन बिंदु का समर्थन करता है। उदाहरण के लिए, मॉडल ट्विटर के पास आपकी ट्विटर स्थिति को अपडेट करने के लिए एक समापन बिंदु है। यदि आप अपने नवीनतम ट्वीट प्राप्त करने के लिए Twitter API का उपयोग करना चाहते हैं, तो आप समापन बिंदु http://api.twitter.com/1/users/:username/ का उपयोग करेंगे।

संबंधित पोस्ट:

एक टिप्पणी छोड़ दो