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?
- Rejestracja:prawie 6 lat
- Ostatnio:prawie 6 lat
- Postów:2
- Rejestracja:około 8 lat
- Ostatnio:prawie 5 lat
- Postów:35
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()

- Rejestracja:ponad 9 lat
- Ostatnio:9 miesięcy
- Postów:245
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

- Rejestracja:około 7 lat
- Ostatnio:około 18 godzin
- Postów:38
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ł.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.