Nalutas: django drf endpoint na walang modelo

Ang pangunahing problema ay hindi mo magagamit ang django DRF endpoint nang walang modelo.

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 mpleS impleS impleS impleS impleS impleS impleS impleS impl e Simpl e Simpl e Simpl e Simpl e Simp ler Simp ler Simp ler Simp ler Simp ler Si mp les Si mp les Si mp les Si mp les Si mp les KISS prinsipyo Prinsipyo ng KISS Prinsipyo ng KISS Prinsipyo ng HALIK "panatilihin ang mga bagay na simple" "panatilihin ang mga bagay na simple" "panatilihin ang mga bagay na simple" "panatilihin ang mga bagay na simple" "panatilihin ang mga bagay na mas simple" "panatilihin ang mga bagay na mas simple" "simple" "simple" "simple" "simple" "simple" ""simple"""simple"""simple"""simple"""Simple"""Simple """Simple """Simpl e “””Simple “””Simpler “””Simpler “””Simpler “” Simpler “” Simpler “” Simpler “” Simpler “” Simplest “” Simplest “” Simplest “” Simplest

Ano ang drf endpoint

Ang drf endpoint ay isang Django application na nagbibigay ng RESTful interface sa DREF (Django Rest Framework) API.

Mga Endpoint

Ang isang endpoint ay isang partikular na punto ng pakikipag-ugnayan sa isang serbisyo sa web. Sa Django, ang isang endpoint ay karaniwang kinakatawan ng isang URL. Halimbawa, ang endpoint para sa Twitter API ay maaaring http://api.twitter.com/1/statuses/update.

Kapag lumikha ka ng isang modelo sa Django, maaari mong tukuyin kung aling mga endpoint ang sinusuportahan ng modelo. Halimbawa, ang Modelong Twitter ay may endpoint para sa pag-update ng iyong Twitter status. Kung gusto mong gamitin ang Twitter API para makuha ang iyong mga pinakabagong tweet, gagamitin mo ang endpoint na http://api.twitter.com/1/users/:username/.

Kaugnay na mga post:

Mag-iwan ng komento