Cześć!
Mam stronę opartą na django, gdzie można się zarejestrować, logować, dodawać posty, robić ich update itp. Chciałbym w jakiś sposób wystawiać dane do pobrania w JSON-ie, ale nie wiem za bardzo jak się do tego zabrać.
Poratuje ktoś jakimś dobrym pomysłem?
Mozesz uzyc do tego na przyklad Django Rest Frameworka on ma sporo fajnych mechanizmow do zwracania Jsonow :)
mozesz tez uzyc klasy JsonResponse
>>> from django.http import JsonResponse
>>> response = JsonResponse({'foo': 'bar'})
>>> response.content
lub zwrocic dane w zwykylm response pod jakim kluczem ale wczesniej przygoowac slownik z danymi i zrobic json.dumps()
Jeśli chcesz zrobić sztampowe REST API z jsonem to zdecydowanie DRF.
Dla standardowych przypadków robisz nic innego jak:
- tworzysz model serializer: https://www.django-rest-framework.org/api-guide/serializers/#modelserializer - na podstawie twojego modelu z bazy wygeneruje ci wszystko
- generic viewset w którym podajesz ten swój serializer - on ci wygeneruje widoki do odczytu, zapisu, tworzenia nowych obiektów: https://www.django-rest-framework.org/api-guide/viewsets/#modelviewset albo jeśli chcesz tylko wyświetlać to np. https://www.django-rest-framework.org/api-guide/generic-views/#listmodelmixin - list model mixin
- tworzysz prosty router, którego dodajesz do urlpatterns - https://www.django-rest-framework.org/api-guide/routers/
bum, gotowe
Pytasz dość ogólnie :)
Jeżeli przewidujesz, że aplikacja będzie się rozrastać to myślę, że prędzej czy później będziesz potrzebował zaznajomić się z Django Rest Frameworkiem: Tutorial
Mnie kiedyś troszkę pomogła na początku ta "pogadanka": z PyWaw
Jeśli jednak potrzebujesz tylko raz w życiu zwrócić JSON-a :) to kolega wyżej zapodał pomysł.
O takie naprowadzenie mi chodziło. Dzięki wielkie za pomoc ;)